Skip to main content

Full text of "68 Micro Journal Volume 07 Number 02"

See other formats


$2.95. 




WE DON'T PLAY GAMES 




X-I2 + 



A SERIOUS COMPUTER 
IN A DESKTOP PACKAGE 



Multiprocessor Technology - Combination of 8.16 and 32 bit types 
1.0 Megabyte Memory - Insures no limitation on programs 
"Winchester" Disk System- Fast response, large storage capacity 
UniFlex* Operating System -The standard of comparison 
Hardware Floating Point - Unmatched speed in a small system 
Up to Three Terminals - Instant expansion 



'Trademark of Technical Systems Consultants 




SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

219 W. RHAPSODY 

SAN ANTONIO, TEXAS 78216 (512) 344 0241 



Only Microware's OS-9 

Operating System Covers 

the Entire 68000 Spectrum 



MICROWARE'S OS-9 



UNIX 



ROM-BASED 
CONTROL 
SYSTEMS 



FLOPPY-DISK BASED 

PERSONAL 
COMPUTERS 



DJSKBASEO 

INDUSTRIAL 

SYSTEMS 



SMALL-SCALE 

TIMESHARING 

SYSTEMS 



SCALE 
TfMESHARING 
SYSTEMS 



HAND-HELD 
COMPUTERS 



HARDWARE/SOFTWARE 
DEVELOPMENT SYSTEMS 



SINGLE USER 
MULTITASKING SYSTEMS 



MEDIUM SCALE 
TIMESHARING SYSTEMS 



SMALL SYSTEMS 



LARGE SYSTEMS 



Is complicated software and expensive hardware 
keeping you back from Unix? Look into OS-9. the 
operating system from Microwa/e that gives 68000 systems 
d Unix-style environment with much less overhead and 
complexity. 

OS 9 is versatile, inexpensive, and delivers outstanding 
performance on any si^e system. The OS-9 executive Is 
much smaller and tar more ef- 
ficient than Unix because it's 
written in tdst compact as- 
sembly language, making it 
ideal tor critical real-time ap- 
plications. OS-9 can run on 
a broad range of 8 to 32 bit 
systems based on the 68000 
or 6809 Family MPUs rrom 
ROM based industrial con* 
troliers up to large multiuser 
systems 

OS-9 S OUTSTANDING 

C COMPILER IS 
YOUR BRIDGE TO UNIX 

Microwares C compiler U\ h 
nology is another OS-9 advantage. TTie compiler produces 
exhemely fast, compact, and ROMable code. You can easily 
develop and port system or application software back and 
forth to standard Unix systems. Cross-compiler versions for 



Key OS 9 Features At A Glance 
Compact (16X) ROMable executive written in assembly 
language 

User "shell" and complete utility set written in C 
C-source code level compatibility with Unii 
Full Multitasking/multiuser capabilities 
Modular design - eitremely easy to adapt, modify, or 
eipand 

Unix-type tree structured file system 
Rugged "crash-proof file structure with lecord locking 
Works well with floppy disk or ROM-based systems 
Uses hardware or software memory management 
High performance C, Pascal, Basic and Cobol compilers 



VAX and PDP-11 make coordinated Unix/OS-9 software 
development a pleasure. 

SUPPORT FOR MODULAR SOFTWARE 
- AN OS-9 EXCLUSIVE 

Comprehensive support for modular software puts OS 9 
a generation ahead of other operating systems. It multiplies 
Progtammer productivity and memory efficiency. Applica- 
tion software can be built 
trom individually testable 
software modules including 
standard library" modules, 
The modular structure lets 
you customize and recon- 
figure OS-9 for specific hard- 
ware easily and quickly, 

A SYSTEM WITH 

A PROVEN 
TRACK RECORD 

Once an underground 
classic. OS 9 is now a solid 
hit. Since 1980 OS -9 has 
been ported to over a hun- 
dred 6809 and 68000 
systems under license to some ot the biggest names in the 
business. OS-9 has been imbedded in numerous consumer, 
industrial, and OEM products, and is supported by many 
independent software suppliers. 



OS-9 



MICROWARE SYSTEMS CORPORATION 
1866 NW 114th Street 
Des Moines, Iowa 50322 
Phone 515-224-1929 
Telex 910-520-2535 



Micro ware Japan, Ltd 
3-8-9 Baraki, K hikawa City 
Chlba 272-#l, japan 
Phone 0473(28)4493 
Telex 299*3122 



! • " ■ i 



'66' Micro Journal 




Portions of the text for 69 MICRO JOURNAL was prepared 
using the following furnished hard/software. 

OtWOTERS-MARDIMre 

Southwest Technical Products 

219 W. Rhapsody 

San Antonio. Texas 78216 

S09-5/8DMTdlsk-C0Si-8212W-Sprlnt 3 Printer 

GIMIX Inc. 

1337 West 37th Place 

Chicago, IL 60609 ' 

Super Me1nframe-0S9-FLEX-Assorted Hardware 

EDITTRS^KVO HBI££S(FS 

Technical Systems Consultants, Inc. 
tn Providence Road 
Chapef HHI, NC 27514 
FLEX-Ed I tor -Processor 

reat Plains Computer Company, Inc. 
P0 Box 916 
Idaho F«lls. ID 83401 
STYLO-MallMerge 



Don Williams Sr. 
Larry E. Will lams 
Too E« Wll I lams 
Robert <Bob) Nay 



Editorial Staff 

Pubf Isher 
Executive Editor 
Production Editor 
Color Editor 



Adelnlsfratlve Staff 



Mary Robertson 
Penny Wl I J lams 
Michael Westfal I 
Christine Kocher 



Ron Anderson 
Norm Cam*) 
Peter Olbble 
Dr. Theo Elbert 
William E. Fisher 
Dr. E.M. Pass 



Office Manager 
Subscriptions 
Shlpplng/Rec* 
Accounting 

Contributing Edllors 



Speclel Technical Projects 



Clay Abrams K6AWP 
Tom Hunt 



CONTENTS 



Vol.Yl I, Issue II February 85 

FLEX USER Notes 7 Anderson 

0S9 USER Notes 9 Dfbbte 

C USER Notes 12 pass 

68000 USER Notes 15 Lucldo 

Software Tools In PASCAL 17 Boll Inger 

Turbo 24 Groves 

Single Board Computer 26 DHW 

MICROKEV 4500 27 Dale 

Loca I 29 Armstrong 

TSC BASIC To Microsoft BASIC 34 Pass 

Bit Bucket 42 

Classified Advertising 52 



MICRO 



JOURNN. 



Send All Correspondence To: 

Computer Publishing Center 
68 MIOV) JOURNAL 

5900 Cassandra Smith 

P0 Box 849 

Hixson, TN 37343 

Ph (615)842-4600 TELEX 558 414 PVT eTH 

Copyrighted T984 by 

Computer Publishing Inc. (CPI) 

68 r Micro Journal is published 12 times a year by 

Computer Publishing Inc. Second Class Postage 

Paid ISSN 0194-5025 at Hixson, Tenn- and 

additional entries. Postmaster: send Form 3579 to 

68' Micro Journal, PO Box 849. Hixson, Tennessee, 

SUBSCRIPTION RATES 

USA 

1-Year S24.50 2-Years $42-50 3-Years $64*50 

FOREIGN 

See Page 60 

Submitted for Publication 



Ite 



Articles submitted for publication should be 
accompanied by the authors full rvas, address* date and 
telephone number. It is preferred that articles be 
submitted on either 5 or 8 Inch diskette in TSC Editor 
format or STYLO format. All diskettes will be returned. 

The following TSC Text Processor commands ONLY should 
be used (due to our proportional processor): v sp space, 
.pp paragraph, »fl fill and -nf no MIL Also please do 
not format within the text with multiple spaces* The 
rest we will enter at time of editing. 

STYLO commands are all acceptable except the ,pg page 
command, we print edited text files In contlnous text. 

All articles submitted on diskettes should be In TSC 
FLEX" format, either FLEX2 6800, or FLEX9 6809 any ver- 
sion. 

If articles are submitted on paper they should be on 
white 8X11 bond or better grade paper. No hand written 
articles (hand written or drawn art accepted). All 
paper submitted articles will be photo reproduced. 
Jhls requires that they be typed or produced with a 
dark ribbon (no blue), single spaced and lype font no 
smaller than 'elite 1 or 12 pitch. Typed text should be 
approximately 7 Inches wide (will be reduced to column 
width of 3 1/2 Inches). Please use a dark rlbfconl 

All letters to the editor should also comply with the 
above and bear a signature. Letters of 'gripes 1 as well 
as 'praise* 9re solicited. We attempt to publish all 
letters to the editor verbatim, however, we reserve the 
right to reject any submission for lack of 'good taste 1 . 
We reserve the right to define what constitutes 'good 
teste*. 

Advertising: Commercial advertisers please contact the 
68 Micro Journal advertising department for current 
rate sheet and requirements. 

Classified: All classified must be non-commercial. 
Maximum 20 words per classified ad. Those consisting of 
more than 20 words should be figured at .35 cents per 
word. 20 words or less $7.50 minimum, one time, paid In 
advance. No classified ads accepted by telephone. 

'68' Micro Journal 



GIMIX STATE OF THE ART 6809 SYSTEMS FOR THE SERIOUS USER. 




GIMIX has 19MB or high performance 
47MB Winchester Drive Systems and/or 
Floppy Disk Drive Systems. 



For the ultimate in performance, the Unique GMX 6809 CPUIH 
using either OS^GMXID or UniFL£X GMXIII (available shortly), 
gives protection to the system and other users from crashes 
caused by deiective user pnDgioms. e.g. Dunng program 
development, a programmer who crashes goes back to the 
shell or the debugger, while the other users are not even 
aware anything occurred. 



The intelligent serial I/O piocB^or boards signifi- 
cantly reduce system overhead by handling rou- 
tine VO func- 
tions, there- 
by freeing up 
the host CPU for 
running user 
programs. This 
speeds up system per- 
formance and allows 
multiple teiminals to be 
used at 19. 2K baud. 



9ASIC-09 and OS-9 are trademarks d M+croware Systems Conx and MOTOROLA, inc 
FLEX and UniREX art t/atterrertcs of Technical Systems Consu forts. Inc 
GIMIX. GK0SI GMX. CLASSY CHASSIS, are trademarks of GIMIX, Inc 




Gimix 



inc. 




For the user who appreciates the need for a 
bus stiuctured system using STATIC RAM 
and powered by a ferro resonant constant 
voltage transformer. 

GIMIX has single user systems that can run 
both FLEX and OS-9 or Multi user systems for 
use with UniFLEX or OS-9. 

GIMIX versions of OS9 and UniFLEX in- 
clude maintenance and support by Micro- 
ware (90 days) and TSC (1 year). Mainte- 
nance and support after this period 
are available at extra 
cost. 

(NOTE: this support and 
maintenance is only 
for use with approved 
G1MK hardware) 



/ GIMIX 6809 systems 
/ support live predominant 
/ operating systems; 

OS-9 GMX III, 

OS-9 GMX II, 

UniFLEX, 

OS-9 GMX I, 

FLEX 

and a wide vanety ol languages 
and development software 

Whatever your application software 

development, instrumentation, process 

control educational, scientific or business, 

whether you need single or multi-user « 

capabilities, GIMIX has hardware and the | 

operating systems to get the job done 3 

reliably 8 

Please phone or wnte ii you need further information « 



1337 WEST 37th PLACE • CHICAGO. ILLINOIS 60609 • C312> 927-5510 • TWX 910-221-4055 



19*3 GIMIX Inc 



Get 
the 
most 

out 

of 

BASI 



The OFFICIAL BASIC09 TOUR 
GUIDE is skillfully written in a friend- 
ly and easy-to-read style. Just 
perfect for those new to computers 
and to BASIC09. It's also a valuable 
reference book for programmers, 
engineers, students and hobbyists, 
providing an in-depth look at 
BASIC09 plus an overview of the 
OS-9 operating system. Compre- 
hensive reference sections on 
BASIC09 and OS-9 commands are 
also included. 

The book "maps 1 ' out your route 
through the Mercedes of Basics . . . 
BASIC09 and puts you in the driv- 
er's seat in no time. Fasten your 
seatbelt. sit back and enjoy the ride 
to perfecting your programming 
skills. 




MICROWARE . . . 

The OFFICIAL BASIC09 TOUR 
GUIDE comes from the people who 
wrote BASIC09. As the leader in 
6609 system software, we at 
MICROWARE care about our users 
and want to help you get the most 
from our products. 

It's Easy to Order. 

Phone orders are accepted from 
MasterCard or VISA cardholders or 
for COD shipment. You can also 
order by mail using the coupon 
below. Quantity discounts are 
available to educational organiza- 
tions and dealers. For further infor- 
mation contact Microware. 



Speeiatkls hi >y$iim software for 68'family microprocessors since 1977. 
OS 9 and BAS1C09 are trademarks of Mcroware and Motorola 



Microware Systems Corporation 
1866 NW. 114th Street 
Des Moines. Iowa 50322 
Telephone 515/224-1929 
Tele* 910-5202535 



.copies of the 



Please send 

BasJcOg Tour Guide book at $18 95 
each. Add $2.00 for UPS shipping in 
the U.S. or $600 for overseas air mail 
per book. Iowa residents add 4% 
sales lax. 



Name 

Add res 



^Zip- 



City 

State 

D I have enclosed a check 
D Charge to my bank card: 
MasterCard □ VISA 

Card Number 

Expi ration^ 



□ 



'68' Micro JournaJ 






V, 



%J ^ r^ 



e o/, 



°*»l. 



FLEX ™ USER NOTES 

THE 6800-6809 BOOK 

By: Ronald W. Anderson 

As published in 68 MICRO JOURNAL'" 




The publishers of 68 MICRO JOURNAL are proud to announce the publication of Ron Anderson's FLEX USER NOTES, in 
book form. This popular monthly column has been a regular feature in 68 MICRO JOURNAL SINCE 1 979. It has earned the 
respect of thousands of 68 MICRO JOURNAL readers over the years. In fact. Ron's column has been described as the 
Bible' for 68XX users, by some of the worlds leading microprocessor professionals. Now all his columns are being 
published, in whole, as the most needed and popular 68XX book available. Over the years Ron's column has been one of 
the most popular in 68 MICRO JOURNAL. And of course 68 MICRO JOURNAL is the most popular 68XX magazine 
published 

As a SPECIAL BONUS all the source listing in the book will be available on disk for the low price of: FLEX '" format only — 5 
$12.95 — 8" $16.95 plus $2.50 shipping and handling, if ordered with the book. If ordered separately the price of the disks 
will be: 5" $17 95 — 8" $19.95 plus $2.50 shipping and handling 

Listed below are a few of the TEXT files included in the book and on diskette. 

All TEXT files in the book are on the disks. 



LOGO.C1 

MEMOVE.C1 

DUMP,C1 

SUBTEST.C1 

TERMENTC2 

M.C2 

PRINTC3 

MOOEMC2 

SCIPKGC1 

U.C4 

PRINT.C4 

SET.C5 

SETBAS1C5 



File load program to offset memory — ASM PIC 
Memory move program — ASM PIC 
Printer dump program — uses LOGO — ASM PIC 
Simulation of 6800 code to 6809, show differences — ASM 
Modem input to disk (or other port input to disk) — ASM 
Output a file to modem (or another port) — ASM 
Parallel (enhanced) printer driver — ASM 
TTL output to CRT and modem (or other port) — ASM 
Scientific math routines — PASCAL 
Mini-monitor, disk resident, many useful functions — ASM 
Parallel printer driver, without PFLAG — ASM 
Set printer modes — ASM 
Set printer modes — A-BASlC 
(And many more) 



' for early delivery 



'Over 30 TEXT files included in ASM (assembler) — PASCAL — PIC (position independent code) TSC BASIC-C, etc. 

NOTE: C1..C2, etc. ^Chapter 1. Chapter 2. etc. 

This will be a limited run and we cannot guarantee that supplies will last long. Order 

Foreign Orders Add $4,50 S/H 
Softcover — Large Format 

Book only: $7.95 + $2.50 S/rV 

With disk: 5" $20.90 + $2.50 S/H j 

With disk: 8" $22.90 + $2.50 S/H 








See your local S50 dealer/bookstore or order direct from 

Computer Publishing Inc. 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

TELEX 551 414 PVT BTH (615)842-4601 




&Q 



68' Micro Journal 



'FLEX is a iraoamarV ol Technical Systems Consultants 



SOFTWARE DEVELOPERS! 

YOU'VE JUST BEEN GIVEN THE BEST REASON YET 
TO GET OUR 68000/ UNIX® DEVELOPMENT SYSTEM 



THE VAR/68fT®SEJWES 




VK-5XW20 (List price £l^*eCT ) $5,000. 

Includes: Terminal, 20 Mb hard disk, 
512K RAM 8 ports and REGULUS® 



VK-5XW20T20 (List price &±2&m.) $6*500. 
Includes: all of above, plus 20 Mb 
tape streamer 



RESELLERS! 



Even more attractive specials are available to qualified resellers! 

Smoke Signal has been designing, developing and manufacturing 
microcomputers based on the Motorola family of processors for 
the past six years. The VAR/68K is the most recent addition to our 
family of multi-user computers. 



VAR/68K is a registered trademark of Smoke Signal 
REGULUS is a registered trademark of AJcyon Corp. 
UNIX Is a registered trademark of Bell Laboratories 



Due to the extremely low prices being 
offered, we can only accept cash orC.O.D. 
orders, and we must limit purchases to 
one per customer. This is a limited time 
offer 



TO OBTAIN YOUR VAR/68K 
AT THESE LOW PRICES. CONTACT: 




SMOKE SIGNAL 



31336 VIACOLINAS 

WESTLAKE VILLAGE. CA 913 2 

(818) 889-9340 / Telex 910-494-4965 



68' Micfo JoumaJ 



Flex User Notes 

Ronald w. Anderson 
3540 Sturbrldge Court 
Ann Arbor, Ml 48105 

An Editorial of Sorts 

You know, IN* been giving a lot of thought lately to the 
subject of progress. Just what Is the most effective 
hardware to do an Industrial control or Instrumentation 
Job* We all know that new things cost a great deal at 
first. Therefore It Is reasonable that If I don't need the 
extra capabilities of new processors, I would be foolish to 
pay for them. On the other hand. It Is possible to argue 
that "I have a working design. Why change It?* to the 
point of becoming very obsolescent. For example, there 
are still 6800 processors being buUt Into Instruments. If 
they have all the capabilities, and the software Is done 
once and for all, that Is all Just fine. Why not keep 
building the Instrument or whatever Just as It Is now. 

Now here Is where I think the fallacy lies- If the product 
requires a great deal of software support, perhaps a 
different program for each customer, maybe the designers 
are Just In a rut. Think for a moment about the superior 
Instruction set of the 6809 as compared to the 6800. Any 
reasonably good assembler programmer can generate the 
same program for the 6809 with 15f to 30X fewer lines of 
Instructions, t believe that the difficult/ of debugging 
any program Increases faster than the number of lines of 
code. Perhaps a good estimate would be that the debug 
time Is about proportional to the square of the size of 
the program. By that estimate, a program 10% smaller wltl 
take half as long to debug. Also, It will take less time to 
write and to list. Another factor to be considered is 
that the 6800 and 6809 are vecv similar and minimal circuit 
changes are required to make the conversion. Hardly any 
other component changes need be made, so that the cost of 
switching Is minimal, and the cost per unit is also 
Increased very nominally. I therefore argue that anyone 
who has a 6800 based product that requires program 
adaptation or rewriting should seriously consider 
switching. 

WTren It cornea to the use of the 68000 however, (again my 
argument Is limited to machine control and Instrumentation 
applications), the situation Is somewhat different. The 
68000 costs several times as much as the 6809, and It 
requires more and faster hardware to support It. Bus 
speeds are higher, making noise Immunity lower In 
Industrial environments. In general the premium paid for 
using "the latest" Is not small. I've been saying for a 
couple of years now, that as soon as I had an application 
the 6809 couldn't handle, I would use a 68000. I'm still 
waiting for that application, and J still have plenty of room 
to Improve my 6809 handling of applications. Presently, my 
designs are still running the 6809 at I MHz. 1 can do 
everything twice as fast by plugging In a 68809, an 8 WU 
crystal, and the B version of the serial and parallel 
Interface chips. Memory is already capable of 2 M4z. 

I'm not saying that tomorrow won't bring me a problem 
that requires the extra speed of an optimized 68000 
assembler eode solution. Just that such a problem has not 
yet come forth. 1 think many designers don't try very 
hard to squeeze some extra performance out of their 
present hardware. I can relate tales of Improving 
performance (execution time) by using better software, by 
a factor of about 200, and that on a 6800 system. I think 
the early 6809 software that Just echoed the 6800 code 
didn't take advantage of the 6809. In the past few years. 
Improvements of a couple orders of magnitude have taken 
place In the perfonnence of the object code generated by 
6809 compilers. (Language Is Irrelevant to this 
discussion). The newest of the compiler Implementations 
are still showing single digit percentage gains In 
performance, but the gigantic Improvements have pretty 
much taken place. 



Benchmarks run on the 68000 early on, were very 
disappointing. It usually turned out that a 2 MHz 6809 
could match or exceed the performance of the 68000 on the 
same benchmark. However, 1 think the same thing has 
happened with the 68000 as happened early with the 6809. 
Programmers did not Immediately learn to take full 
advantage of the 68000 Instruction set. More recent 
results Indicate that the 68000 can do things a good deal 
faster than the 6809 If Its resources are used wisely, 
(such as the use of registers to hold variables). Yes, the 
68000 Is coming of age. 

Now before several hundred of you start writing me 
letters about my stupldMy, let me repeat In no uncertain 
terms that I AM NOT TALKING ABOUT ALL APPLICATIONS HERE. 
I don't know how to shout my point In writing, but If I did, 
I would. No, I am NOT talking about trying to misapply a 
6809 to a 12 user super office computer, a CA0 system, the 
control of a complex robot or a multi-axis CNC machine tool 
application. I am ONLY talking about applications In 
reasonably simple controls and Instrumentation. 1 am 
talking about "canned software" In a Stand Alone system 
with very limited or no user progremmabllHy beyond the 
Input of "set up" parameters. I'm talking about what I call 
a "dedicated computer" application. In such applications, 
there Is generally NO mass storage device. There MAY be 
some battery backed up RAM to allow the system to remitter 
certain constants and limits while power Is off. Generally 
the program Is In ROM. 

[ hope this will have sufficiently narrowed down the 
applications about which I am speaking. 1 think most of 
the differences of opinions that have been aired In this 
column come about because we each tend to see something 
entirely different when someone says "Computer". We see a 
computer In the configuration In which we use It 
ourselves. Many of us are not even aware of all the 
applications that have beeoffe feasible both technically and 
economically because of the existence of the 
microprocessor and the ever tumbling prices for Its 
peripheral devices. This difference (n perception of what 
a computer Is, Is after all partly because a computer Is a 
VERY general purpose tool. My little development system Is 
nothing at all without software. At the moment It Is a 
very nice text editor - processor. In a little while. It will 
be a software development system as I translate some of 
the software modules that I use frequently Into a new 
language that I am studying. At other times It Is a design 
tool that lets me explore alternate ways of solving a 
problem, at times through simulation techniques. 
Sometimes It Is a tool to do a plodding search of several 
thousand possibilities to find the best solution to a 
specific problem. I have several friends who own 
computers, and for them, the word brings forth entirely 
different visions of what the computer Is. Por one, It Is 
a data collector for experiments In Chemistry. Por 
another It Is a data management system for student 
grades, a word processor for the preparation of class 
notes and quizes, writing of technical papers, books, 
letters, etc* Your concept of what a computer Is, may 
not agree with any of those I've mentioned here. Perhaps 
for you, computer means a system to handle you company's 
payroll and accounting records. If you work for an airline, 
your Idea of a computer Is that It can store and Instantly 
recall vast amounts of Information about flights, 
passengers, seating arrangements, prices, timetables, 
etc. I think the point Is made, so I will slop here. 

We Engineers have to consider several factors In 
designing a system. One of the major factors Is cost. 
The latest, best, and newest technology, the "state of the 
art" things are always very expensive at first. Once the 
bugs In the production of these new Items are worked out, 
and the design costs more or less paid for, the price 
nearly always takes a large drop. Somewhere along the way, 
the price begins to level off, end that Is usually the point 
where It becomes economically feasible to use the new 
technology. Suppose I am using an EPROM that stores 4K 
bytes. It costs S4 In some quentHy. A new device stores 
16K bytes. It costs $64 In somewhat smaller quantity. 



68* MtoO Journal 



First of all, If my requirements for storage are around 4K 
or 8K, the new part may never become more economical* On 
the other hand, tf f need 16K or 32K, the new part will 
become economically feasible before the price per K of 
storage Js the same as the old device- f need only 1/4 as 
many of these devices- Handling Is reduced* Programming 
time Is reduced because I don't have to handle four 
devices. Just one. Printed circuit board space ts 
reduced, resulting In savings* The board only needs one 
socket, probably with a few more pins than the original 
device for which I need four sockets to get the same 
storage. 

I've tried always, to work down at that point where the 
price of new devices starts 1o level off after the Initial 
high price phase. I think that maximizes the value of the 
design. Of course, with the rapid changes In technology 
over the past decade or so, today's maximum value design Is 
not tomorrow's. A designer must keep up with the latest 
Items constantly, and a design can't stay static for very 
many years I n most cases. If It does, you can be sure that 
the competitors will soon have something that does more, 
Is simpler, and costs less- Enough said on this subject. 
Computer Bargains 

A few words for you out there with the limited budgets 
(that certainly Includes most or all of us). Recently, I've 
acquired a couple of used SS'50 systems for very 
reasonable prices. I was fortunate to find a couple of 
sellers who realize that an original SWTPc AK memory board 
Is not worth anything. <You would need 14 of them to have 
56K of memory). An 8K board Is not useless, but Is 
certainly of limited value. Old 6800 processor boards such 
as the MP-A and later ^'A2 are certainly of little value to 
most of us who want 6809 systems- And lastly, a pair of old 
35 track single sided disk drives with a disk controller 
that won't run double denslly, no moffer how little they 
have been used, and how reliable they are, are not worth a 
great deal, since now anyone who reads the ads In the 
magazines can pick up a double sided double density 40 
track drive for less than $150. One of these will hold Just 
about 370K bytes of data. Though the old 35 track drives 
cost nearly $1000 for a pair In a box with a power supply, 
you can now, with a little Ingenully put two drives and a 
power supply together for around $400, and have 700K of 
storage- Mow much Is the 35 track single sided 6riv* 
worth that holds 92K of data? It can't be worth more then 
$50 or $75. 

My point Is that these facts are not all bad. If |Ou 
want to get Into computing at minimal cost, find someone 
with an old SWJPc box containing a 6800 or 6809 processor 
board, 32K or more of memory, and a few 1/0 ports, a disk 
Interface and a pair of drives, and you can be In business 
for a very small Investment. You simply have to realize and 
accept the fact that you don't have the latest, fastest, 
largest system. Most sellers of these old SWTPc systems 
are selling because they are going Into a more modern 
computer such as a Macintosh or an IBM PC for the simple 
reason that there Is a great deal of software tor these 
systems. Such sellers usually are willing to sell their 
original software at bargain prices too. I recently picked 
up two spreadsheet programs and a database program for 
the 6809 as part of a purchase. 

As I've said before, the beauty of a ^component system" 
or a bus system If you like. Is that It can be upgraded a 
step at a time. You can replace those 4K memory boards 
with used BK boards one at a time until you have 56K 
Installed. You can now buy 64K boards new for around 
$200, and reduce the memory board count to one. If you 
become affluent later, you can buy a 256X board that takes 
less power than some of the old 8K and 16K boards. You 
can upgrade disk controllers and drives one at a tine until 
you have a very capable system. Meanwhile you can be 
learning about computing and software as your system 
flrows, and you never have to throw away anything of great 
value to go to the "next step up" In your computer. 

You say "yes but I can't afford a Terminal!" Just look 
around and be patient. I've lately seen e couple of 
perfectly good and serviceable terminals for $250 each. 
Find someone else who Is upgrading from an old terminal to 
something more up to date, and take advantage of his 



upgrade to get yourself a terminal. Is there a Junior 
college nearby? Schools sometimes upgrade the systems 
Installed for student use. Perhaps they have a dozen 
terminals for sale and you can be an early customer and get 
the pick of the lot for the same price as the worst. 

"Gee" you say, that still adds up to lots of money 
compared to a Commodore 64 or something like that. Of 
course you are right. The point Is that you don't have to 
spend all that money at one time, or even In one year. I 
suppose I could look at the system I have right here and 
conclude that It Is the most expensive electric "typewriter 
that I could buy. 

In my case, I have made enough on consulting fees over 
the years, and on articles that I have written for 
magazines Jn the past, to pay for my system a couple times 
over. What I have learned through what started out as a 
hobby Interest has brought about a Job for me In a highly 
paid position doing work that I thoroughly enjoy. If I look 
at my computing equipment as an educational Investment, 
IVe spent far less than It would cost to go to college for a 
couple of years at today's prices. The fact that you ere 
reading this Indicates that you have more than a passing 
Interest In computers. You didn't buy a Color Computer 
and stop at playing games on It. It Is not gathering dust 
as a doorstop somewhere In your house. If you find 
computing to be exciting, you have some success In writing 
programs and/or designing and building computer hardware, 
consider a computer an Investment In your future, and work 
toward the goal of a career In some area of computing. 

Cobol 

I recently reviewed Crunch Cobol In this publication. 
I'm really glad that I took the approach that I did, and 
that I didn't claim to have written an elegant program In 
Cobol as the example. 

I've Just read the reply from Compusense that 
Illustrates a couple of better ways to write that 
program In Cobol. As I said In the little review, I had 
expected someone to show me that I had done the 
program the hard way, and I appreciated the kind words 
In that reply. (They didn't even call me stupldll) 

Of course, the good solution to the problem Involves 
using the REDEFINES feature of Cobol. The folks at 
Compusense wrote a letter to '68' Micro Journal (see Ed's 
Notes), and I think Don will publish their lesson on Cobol 
that shows how to redefine a character In working 
storage as an Integer, perform the operation of 
converting It and then recover It as a character to go 
Into the output string. I won't go Into trying to 
describe their program since they do a fine Job of that 
In their reply. I also received a letter from Mike Martin 
of Weatherford, TX, also a Cobol programmer who 
Indicates that the Compusense Implementation "Is a good 
deal for a hundred bucks". He also sent me a solution to 
the case conversion program that uses the REDEFINES 
feature of Cobol. Thanks to both Compusense and Mike 
for setting us all straight on one of the most useful 
features of Cobol. Mike also Indicates that a very good 
book on Cobol Is "A Guide to Structured COBOL With 
Efficiency Techniques and Special Algorithms" by Paclflco 
A. Urn (Van Nostrand Relnhold Company). Mike goes on to 
say that most books on Cobol lean toward the IBM 
version, and' that a number of features of Cobol 
discussed In these books are not supported by Crunch 
Cobol. Since Don will probably print Mike's letter and 
program In Its entirety, I won't dwell on this any 
further. Thanks 1o both of you for jetting the record 
straight. 

Long time readers might remei£>er a slmller occurrence 
when I first started writing a few programs In l K?'« I 
had done a memory dump In Ascll and HEX program In a 
couple languages and tried a "C" version. Norm Comma 
was quick to show me a better way to write that program 
In "C", and I appreciated the lesson. I can say the seme 
for the lesson on Cobol from Compusense. While I am too 



8 



68' Micro JoumaJ 



much o Pascal and "C" progremmer to agree that having 
only "static" or "global" variables to work with Is better, 
I do see a clarity In Cobol - I can readily understand how 
a good Cobol programmer would have little trouble 
maintaining someone else's code, and I appreciate the 
lesson, though I still don't see that "ADD A TO B GIVING 
C" Is clearer than C :* A^6;. 



Ed's Notes: Gotcha, Ron. Beatcha to the draw- 
January 1985 68 Micro Journal, SIT BUCKET section. 

DM* 



See 



file It's making, Make runs the command to build a 
new file. The program Is arranged so ft checks each 
dependency to see If It should be updated before It 
uses It to dec I da whether to update tha final 
result. 

An example would probably make this much 
clearer. Say you have a terminal simulator. It Is 
divided Into four modules: Setup, Run, Transfer, and 
Print- This would be stated (to my version of Make) 
as: 

/hO/cmds/termlnol ; Set up. o Run.o Transfer. o Print .o 
«cc2 Setup.o Run.o Transfer. o Prlnt.o -f-termlnal 



OS9 USER NOTES 



By: Peter Dibble 
51? Gofer House 
Rochester, NY 14620 



Automated Updates 



This month's column will be relatively sliort. 
I have a program 1 want to Include that's longer 
than the usual, but I think It's worth sacrificing 
soma text for. 

I keep mentioning that I've turned Into a 
full-time graduate student. The effects ere finally 
beginning to show (bleary eyes from no sleep and 
lots of staring at books and terminals). I've spent 
a lot of time using UNIX. Two program development 
tools seem especially useful and much needed In 
OS-9. I wish I could write a debugger like D6X and 
Include It In this column, but that's beyond me. 
Make, however, Is a program I can fake. 

Make Is a UNIX program that looks at first like 
a version of the shell with a few special features 
that make It especially suited to running sequences 
of programs that make something. In the simplest 
case It Is like packaging a long cc . •• command 
line In a command file to save yourself from having 
to retype It every time you compile the program. 
Once 1 bothered to look Into It 1 discovered that 
Make Is much more that a special shell. The most 
Important part of Make Is Its ability to understand 
dependencies. 

A complicated progrem Is composed of many 
pieces. There are a number of seperetely compiled 
modules with each module requiring one or more 
source files* If any of the sources hove been 
chenged since their modules were lest compiled, they 
need to be recompiled. If eny of the modules hove 
been updeted since the progrem wes lest linked, the 
module needs to be relinked. If you construct 
systems of programs, e modi fleet Ion to one of the 
programs may result In regeneration of some 
composite files — maybe you'll went to print e new 
manual • 

Make automates all this. You build e file thet 
detel Is the dependencies (prerequisites) for eech 
file thet Is genereted es pert of the construction 
of the program. It also contelns the command line 
that generetes each file. Make checks the 
last-modified dete end time on the file It's 
generetlng end eech of the files thet It depends on. 
If eny of the dependencies ere more recent then the 



Thet Is: If eny of Setup.o, Run.o, Trensfer.o or 
Prlnt.o hove been updeted since /hO/cmds/termlnel, 
run the command line storting with cc2. 

Meke el so understends thet the .o files may 
need to be updated. The descriptions for them might 
be something like: 

Setup.o: Setup. e ACIA.Codes.h /hO/defs/OS90efs 
Menu.fcbs CursorControl .e 
a cc2 Setup. e -o 

Run.o: Run.c . ♦/locoldefs/termlnol .h 

/hO/defs/stdlo.h 

-cc2 Run.c -o 

Trensfer.o: Trensfer 

-rma transfer -o^Trensfer.o 

Prlnt.o: Print. c /hO/defs/stdlo.h 
-cc2 Prlnt.c -o 

When you run make agelnst this file, It will first 
check Setup.o. If eny of the dependencies for 
Setup.o (there ere five of them) hove been modified 
since Set up. e wes lest assembled Meke will 
reessemble It. Then It will check run.o, 
trensfer.o, end prlnt.o In the seme way. Fl nelly 
make will come to /hO/cmds/t ermine I . If any of Its 
dependencies hove been modified since term I ne I wes 
lest modified, It will be relinked. This epplles 
even If the dependency wes updeted by en earlier 
step In this make. 

Often the depth of nesting goes beyond two. 
You'll be working on a system thet Includes files 
thet depend on files thet depend on other files end 
so forth. Meke con dee I with eny degree of 
complexity. The only limitations are ertlflclel. I 
set the constent DEPENDENCIES. You may reset It to 
a lerger number If you need to. The C compl ler 
generetes the other limitation by choslng e defeult 
memory el locetlon. If you went to nest dependencies 
very deeply. It would be good to give make some 
extra memory. The procedure, resolve, allocates 
exfro stack spece for eech level of nesting. 

Oocumentetlon 

The version of Meke with this column wes 
written In Mlcrowere C. I don't think I used eny 
strenge feetures so It should be eesy to convert to 
other versions of C- 

Meke Isn't eny good without e "mekeflle." 
You'll heve to write one up for every program (or 
system) you went to use Meke with. The convention 
Is to put ell the files associated with a program In 
e directory by themselves end col t the mekef I le for 
thet program "makefile". If you Just run Hake, It 
will look for a file called mekeflle In the current 
dete directory. 

If you don't went to cell your mekeflle 
"mekeflle," or you went to keep severel In a 
directory, you cen tell Make to use e different nemo 



'68* Micro Joume I 



for the makefile by putting the name on the command 
line: 

0S9:make prog.d 

would use a file called prog.d as the makefile. 

The first llne(s) of the makefile must contain 
the dependencies of the highest level file — the 
end result of the make — with the command thet 
generates the top-level file t^ext* From then on the 
files can be specified in any order. First a 
dependency line denoted by the name of 1tie file It's 
referring to, followed by e colon and the list of 
dependencies; then an equal sign and the command 
line for that file. 

The command lines are restricted to 80 
characters , but the dependency lines can be any 
length or be several II nas long. 

As usuel for programs In this column there Is a 
lot that needs Improving In this program, it Is 
good enough to be very useful, but there's plenty of 
room for bells end whistles. If I still fee] 
Interested In it next month, 1 may cook up a fancy 
version over Christmas break and see If I can get 
Don to sell It for me. 

I Spoke Too Soon 

Just before the Mlcroware Seminar I heard from 
61ml x that they had stopped work on their 68000 
board. I was very unhappy about It, but Noped they 
night change their mind. Last month I gave up and 
groaned about It a little In this column. Just a 
few weeks after I sent the column In, I heard that 
GlmTx was working on the board again. Now, It's 
trve that the board Is being designed to work with 
UnlFtex, not 05-9, but at least there Is hope. 
Remembering the number of Glmlx CPUs In Mlcrowere's 
lab I think there Is good reason to hope for OS-9 
support sometime next year, f don't know much about 
the board » but from whet I do know combined with my 
experience with UNIX, Mm looking forward to showing 
my Computer Science friends my micro running about 
as fast as their minicomputers. 



1 hficUdi <ttfl"io,h> 

2 ftiflclult <0lrtct.h> 

3 liftdudf <cttti.*> 

4 ttrfifff TttK I 

3 Metini FALSI 

6 H»H«* OCPtmttOES 20 

7 static Chor ttitttilf • 'Mitfllo'i 
I Fit! «s 

9 italic f tract 

10 ( 

U char •fear) 

12 zkif flodTiMO); 

13 char «ftfM(<*t«ertKrC)OUCUSti 

14 iit OCtrj 

15 char iCo«ltr«tori 
U ) EmtlKPCIKKlESJi 
17 

11 ititie chir ITiMtSl • (0,0,0,0,0)1 
It 

20 static ink 6ra#hSiztf 

21 

22 efear icm i); 

21 

24 mm larfc, tr%f) 

25 t»t ITQCf 

26 clor i»«rjn 

27 < 
21 

29 i/|C— | /i trip propM ham ♦/ 



32 


iHartc } 01 


» 


HrttlHt * iVOvf 


34 


NtU&>a#ftfr; 


a 


rtoolvotOt; 


36 


) 


37 




38 fci!46ruh(> 


J? 


i 


40 


rijittir lot i«0; 


41 


char <tf 


42 




43 


ifitf • foam l*«kd lit, VI) mm *MU 


44 


i 


43 


fprutHftdffr, "1 *M t loot hfli to ukf Ts.UError MU', 


4* 


PUktfiit, irroolj 


47 


tut (11, 


48 


J 


49 


iHU - uifidl " WHU 


50 


( 


SI 


fprintMiUiirr, 'Thi art oo dinetinnt in li\n\ Hikafiltl; 


32 


txitlllj 


S3 


J 


34 


for <8rif hSHf-Ou<0€P£M0»CIE5 It ft •« WILLI r 6rij*$i:t+*l 


35 


< 


56 


itntpy'S'apfctBraP^ril.AcdTni/'.SJ: 


y 


SttfUttd, 8rO*$iit){ 


tt 


SttftwdrafhSntlj 


59 


SttC«JJ8rai*&iii)f 


60 


i ■ kmOi 


It 


1 


62 


i 


U 




64 rtMlvtbl 


63 


lit 0| 


66 


< 


67 


ctar daUUJj 


61 


rtfiitv i t i, llMJI 


69 




70 


HrftracMmMOCiJ.MTiM, 1Tim,5» -01 


7! 


gitM*t«<6rt*Mit].lM«, Sr«ph[o).«4IiM)| 


72 


for <i*C, f)M*6LSEf i< 6ra*t)(n).Ktr| »♦♦» 


7J 


( 


74 


LI ((I ■ hnf1UMl^ao6|il.0tO«M«KrCil)l >• 0) 


73 


{ 


76 


rtMlvt(il| 


77 


ffl.'llafl 


78 


( 


79 


OitMAtidYaohCil.llMO, yrtikULnoiU-i; 


80 


HIitrncviarmhtnMtodlJM.Braphtil.lboriM^t < 0) 


81 


MafMf 


82 


J 


93 


} 


84 


tlw if fflMj) 


85 


( 


86 


QittdaUrBVaihCnl.DMjmdtncyhJ, dotal; 


87 


iHitnKMfSrMhtol.RodliM, dtti, 5) < 0» 


81 


fl*8»fr| 


81 


) 


90 


> 


fl 


ifHlOfl 


n 


< 


u 


if Mi * flmMl»M*lft>. Contractor)) '• 0) 


04 


< 


f5 


ftri'M'ttiorr, 'Ittwri to <rM:\oti\*', i, 


H 


BrathtoLCMitnctOrt; 


07 


nitlill 


ft 


1 


n 


} 


100 


rttmi 


101 


) 


102 




103 


Htummw 


104 


tW *ij 


105 


< 


106 


rojittor nt i| 


107 


ctiir titl273| 


109 




109 


ftrcff1t«,ol| 



10 



66 k Micro Journal 



Ill) *uniMitf); 

HI far <i«0;i'6rapASutjL««J 

|12 If leitrc^cu.traaJini.RAfltl ** •! 

U3 rttvi(i)? 

(14 rttartMlj 

115 I 

116 

117 

UB Sttftjttli.iJ 

119 char »s; 

120 lat i; 
I2E ( 

122 Graollil.llaat » wJloclitrlmUJ • II; 

123 •trcpylGrapnCJl.llan*, tl f 

124 mitt * kmD) *■ Will It Us '- VII 

123 ( 

124 fprintfdtaorr, 'Colon rtqiind ifttr I«\n", GrjpMil.*a«tl; 

127 nit<J>; 

128 I 

129 rttwo; 
13© > 

131 

132 Stt0tp4.il 
(33 int i; 

134 ( 

135 cfcir H; 

136 rtguttr lit ;^| 
137 

139 f - tcmO; 

139 fraphhJ.ICtr . #i 

140 tfliitid '- «ii) a \h " •') ii ij < oraKKicsn 

141 ( 

142 €rat»CiJ.D«pm4tAcy(Jl - ialloc(itrlci<*»; 

143 itrcpy<6rapMiJ.&fptndtncy(.ml 1 a); 

144 Sr^htil. OCtr^i 

145 i » scaoll; 
144 ) 

147 ratorn; 

14B I 

149 

ISO SttCadli) 

191 int ij 

152 ( 

133 c*ar idl); 
154 

155 ittfftttflf, 80, I) --WU) 

154 ( 

157 fpriatffstitrr, *Ho cotiioi lint lor It\a\ GraphtU.JUMl; 

Itt nitlt); 

139 J 

160 6r*phUJ.Conilmctar « aallocdtrlifittU; 

141 itrtpyffiripMil.CoM true tor, s); 

112 ri turn; 

163 > 

144 

143 ttitic frit toktolBIl; 

116 

167 env HctiO 

141 C 

149 cltr iftr, »li«t| 

(70 

171 plr • total 

172 litlt ■ »tr*80| /t rfigh bound on tot« itnao, •/ 

173 ttipoltaHOt 

174 if((*ptr - gttc<0> » EOF] 

175 ntvi Wilf 
174 

177 /• ■ and i art asocial tokivt. f*ty art rttorntd as fiaglt extractor 

171 totm ovtn if tMy havi non-61 art i m aitktr lit*. 

179 »/ 

180 if<<«otr « O !! loptr ** rn 

181 ptr**f 

1B2 tlu /• nccuaiilatt cfcaractiri tntil a dtliaitar 



IN othtfiist, 
1B9 H 

190 dcliafc) 

191 char c; 

192 < 

193 Mitel Id 

194 < 

195 cat* '\n': 
194 cast * : 
197 cjit , : 
(99 cam '\8': 

199 cast \t*i 

200 rtturncTIUEli 

201 brtrtj 

202 cast '*"i 
20$ chi : : 

704 ungttclc,fl| 

209 rtUrt(TWE)| 

204 brut; 

207 tfifaultc 

208 rtt«ffKF4iJC)i 

209 ) /• Ifltf C4M 4/ 

210 rttom Cf AL3E1 ; /* Htvtr titcuttO ♦/ 

211 1 
212 

213 ftipblaftki I) /♦ Rtad fret filar f until Juit bifort a non- 

214 dilitittr. t/ 
715 ( 

216 rtfiittr char c; 
217 

218 aftililissijcifc - gctctfU J1 (c ** ',*♦>; 

219 ungttclc.fl; 

220 riturnj 

221 1 

222 
223 
224 tttatfitilftltn, datt) /• put tfct lait-todifiH datt of film in datt •/ 



/» hit naat ♦/ 

/♦ Last-oodifitd dtti and titt •/ 



•/ 



183 forlptrnj (ptr *> haiU II Mitlitftitr • grtclf llfr ptr^J? 

184 *p\r « '\0'| /♦ stal off tht itrinf •/ 

185 rtto/n toft m | 
184 ) 

117 /♦ Otlia rtttrm TRUE H c it * itliiittf claracUr. fHJi 



225 cbar Milan; 
224 char dattCSJ; 
W ( 

228 char fdir, im, Hi»d_tfirl), tfiftdjiad; 

229 char tfi«^aM[33]| /♦ iatt of dit4 CDMtaUtng iiltn •/ 

230 Fltf iOlrfilt, tljikfili; 

231 ttract dirtnt Wryl /♦ Dirtctory wtry lariat #/ 

232 int found«fALST| 

233 long LSMl /• Logical soctor noaOar •/ 

234 timet hi Oil Descriptor; /• Filt dttcriptor fortat ♦/ 
233 

234 fin4.di«Hhl«n,lnlrniHl; /• Ettr»ct 4iU naat frot 
237 fttalifitf filtrtatt t/ 
23B Rt ■ find w nO(filM); /t btract filtnan* fro* 

239 o^alifitd filt n» •/ 

240 fiitiait(Ml| /• ctiaaft na to all capt» C-fartat itri 
09 ♦/ 

241 dir ■ hid.dirltilKil; /t Extract dirtctory naat fro* faalifit 
i 

242 fill nan •/ 
243 

244 ifKOirFilt » Iojot (tfir, 'd')J ** MHl) 

245 < 

244 fpriatHiMtrr, 'Can't otw dirtctory ti\n', 4ir); 

247 mtdJj 

248 > 
24* 

250 /• 

252 Starch ttiroo»> tht dirtctory for hltmm no. 

252 t/ 

253 fiinatt{(>o)| 

294 rfulilfrtadttfntry, tiztof iutry, h OirFilt) *« U 

235 < 

254 iflffntrr.dtr^ta* !- \0') 
257 ( 

291 if lei treat laa, Eatry.tfir naotJ ^ OJ 

Sf ( 

240 

241 

242 1 

243 } 

244 ) 



68' M>cto Joornal 



11 



2*5 
26* 
2*7 
266 

2tf 
270 

:7i 
:n 

275 
274 
275 
27a 
277 
27* 
279 

m 

281 
32 
283 
284 
TBS 
28* 

287 
281 

2W 
290 
2*1 
292 
293 

m 

295 

29* 

pf ♦/ 

297 
298 
299 
300 
301 
302 
303 
304 
306 
30* 
307 
301 
309 
311 

in 

312 

313 
314 
315 
314 
317 
318 
319 
520 
321 
322 
323 

m 

325 
32* 
327 
328 

329 

m 

331 
332 
533 
334 
335 
33* 
337 
331 
339 

m 

541 

342 



t 

fprutftitdirr, 'Is cut bt found tn Ii\n', ai, dirJj 
iMtrlJ; 
} 



/♦ 



Ctatt thi dirtctflfy *nd gpin lltf dtsk. 



fclo*t IlirFililj 

ifllfijikrjli • Joptatditfncjw, V*J1 « NUI 



IpriitHitdirr, 'Error 2d in ofio fpr li\n\ irr*o, diikrtitt)} 
•ntUJ; 



) 



l3toMfct», Cntry.dir^dr.llf 

fkttklQittfilfr LSIK25*, 0>f /• Sttt to fitt ditcrtptor oa ditt V 

iftfriidliDntriptor, mtof OHcriitor, 1, OufcFJld) « Mill 



< 



fprifttffftdfrr, »[ rrQr u in di«k rti4 for lf\i«, f •rroriOiskfil 

diitruae)f 
nitUJ; 



I 



fclo«(fijikfUi>f 

_itriii<diti, *»«criptor.fd_d«ti, 5)j 

nturn; 



fizftu«<1) /♦ Snitch i frot 05-9 itring to Citric Mi eaovtrt it to ca 

t»*r *tf 

noittir diar ♦ptr; 

for [ptr - if iptr < 127 II iftr ) 0] ptr**> 

♦ptr • totfp«r(«ttr I l27)j 
•ptr ■ tovyporffptr I E27)j 
ptr**; 

•ptr * \0'i 
ritufflf 
} 

di«r ifiatViili) /• out bt cillMl btfori fiH.dir «/ 
cUr *i| 
I 

rieLtttr efiif •!«; 

iftfloc - ri^nli,'/')) « HAD 

ritirn ■; 
tl«* 

rotorn Joc*J| 
} 

dar Wind.dirti) /t riturn a directory nut or \ ■ II «oa ca* bt 
found in i. ♦/ 

i 

rtanttr cftir •lot; 

ifllloc - rmdH(S| VII •« mi) 
rttarn Vi 



Doc ■ '\0'| 
ritare if 



) 



Hsi.diiKijdiikJ /• dttoriiot Ut dill Mil ■ it m qnm itt fill neat. 
H /w dtvtci aim if in til fill n«n, MfUM 
tbi tfiak viU tht Oatt dirtctiry on it. 
totem ttn Huihfitd fill rum for Ui otvici. •/ 

< 



343 
344 
345 
Ub 
J47 
348 
349 
250 
351 
352 
353 
154 
353 
11 •/ 
35* 
357 
358 
J59 
3*0 
361 
3*2 



♦ptr** • • »*♦$ 
thilittkt '=> '/J tt l« '• '\0')>; 

•ptr** a #/< 
•ptr • '\0*| 
riturnr 



1 



ititie rhir ti2Cl27]| 

cstrcipdj, i2) /• cotpjii chmgi i2 ti C-foraat, all apt ud coopari to 

ch*r Ml, »*2j 
( 

itrep»tti2, s2>; 

fisntstUtf); 

nturilitrcaslil.trt^ 
J 

"C" User Notes 

Edgar H. (8ud) Pass, Ph.D. 

14S4 Letta Line 
ConytrS, GA 30207 



INTRODUCTION 

Thi* month's column continues the definition of the 
string-hand L ing library started In the previous 
column. It provides the text of msny of the shorter 
functions, along with explanations of how they work. 

STRING -HANDLING IN C 

the "b # family of string- hand ling functions allows 
arbitrary contents of strings, as the processing is 
controlled entirely by the specified length. Note 
that the C compiler handles only null- terminated 
strings properly, in terms of string constant 
definition/ string Input, string output, etc. Thus 
length- term ins ted strings must be handled carefully, 
or their contents may be either prematurely 
terminated by a single 9x00 character or operations 
on them nay not terminate properly becauae of the 
lack of a terminating 0x00 character. 

bcmp(sl, s2/ len) returns the number of bytes 
remaining in the strings after any equal bytes 
at the beginning of the strings have been 
skipped. The function counts down the length 
while it performs the coapariaons. 

int bcaptsl, s2, len) 
char 'si, "s2? 
int Jen; 



( 



while ( — len >• 44 
return len+1; 



•si** •- •s2**)? 



rtf iittr cbar ffL/| 
ptr ■ dit*| 



beopytsre, dst, len) copies "len** bytes from the 
source "arc* to the deetlnation "dst". 

beopytsre, dst, len) 
char »arc, *dat? 
int len; 
{ 

while ( — len >• 0) «det** - «erc**; 
) 

bfllKdat, len, fill) copies "len* fill characters 
to "dst*. 

bfilKdst, len, fill) 

char "dst; 

Ut len; 

chai fills 

{ 

while (—len >- 0) «dst** - fill; 
I 



12 



68* Micro Journal 



baove(det, ere, l«n) copies "lsn" bytee from the 

•cures "arc" to the deatlnation "dat". tt 

ditfera from "bcopy" in the ocdac of ita ioucci 
and deatlnation argumento. 

bmove(dat, arc, Ian) 
char "dst * "sre; 
int Ian; 
< 

whila ( — Ian >• 0) "dst** ■ •arc**; 
J 

b*sro(dst, Ian) coplaa "Ian* 0x99 bytaa to "dat". 

bzero(dat, )an) 
char a dat; 
int Ian; 
< 

whila ( — Ian >* 0) "dat** • , \0 i ; 
I 

Tha "jnam" family of atr ing-handl ing functiona allows 
arbitrary contanta of strings, aa tha procsssing ia 
controllad antiraly by tha apscifisd langth, 
Although tha functiona in tha family ata similsr to 
tha functiona in tha "b" family, although thay hava 
diffarant srgument ordsrs, caturn different vsluoe, 
perform slightly diffarant oparationa, ate. 

memccpy(dst, arc, chr , Ian) copiaa bytaa from "arc" 
to "dat" until aithar "Ian" bytaa hava baan 
moved or a byta oqusl to "chr" haa been moved. 
It raturna aithar NULL or a pointar ona bayond 
tha location in tha daatination atring with 
■chr-, 

char *memccpy(dst, arc, chr, Ian) 
char "dst, "arc, chr; 
Int Ian; 
< 

whila ( — Ian >- 9} 

if (("dst** - «src**) -- chr) 
raturn dat; 
raturn NULL; 
J 

m*mchr(src, chr, Ian) aaarchaa tha memory araa 
pointad to by "arc* 1 axtaoding for "Ian" bytaa, 
looking for an occurranca of tha byta "chr". 
It atarta at tha beginning of tha atring and 
atopa whan it encountere tha firat match. 

char a mamchr(arc, chr, Ian) 
char "arc, chr; 
int Ian; 
i 

whila ( — Ian >- 0) 

if ( # src** ■■ chr) 
raturn arc-1; 
raturn NULL; 
J 

meoempdha, rha, Ian) comparaa tha two manor y araaa 
"lha(0..1an-ir and "rha (0. .Jen-ll • . It 
raturna a value < 9, ■■ 9, or > 9, dapanding 
upon whathar "lha" < "rha", "lha" « "rha", or 
"lha" > "rha". It akipa tha aqual preflxea and 
uaaa tha valuaa of tha firat unaqual charactara 
to datarmina tha compariaon valua. 

int maavcap(lha f rha, Ian) 
char "lha, "rha; 
int Ian; 
I 

whila ( — Ian >- 9) 

if (*lhs** ■• "rha**) 

raturn lha(-lj-rha(-l) ; 
raturn 8; 
» 

mamcpy(dat, arc, Ian) copiaa "Ian" bytaa from "arc" 
to "dat" and raturoa a pointar to "dat". 

char *msacpy(dst, arc, Ian) 
char "dat, "arc; 
int Ian; 
( 

char "d ■ dat; 

whila ( — Ian >• 9} "dat** - "arc**; 

raturn d; 
) 

■ammov(dat, arc, Ian) copiaa "Ian" bytaa from "arc" 
to "dat" and raturna "det"*"len". 



char "mammov(dat, arc, Ian) 
char "dat, "arc; 
int Ian; 

( 



J 



whila ( — Ian >• 0) "dat** ■ "arc**; 
saturn dat; 



nrchr(arc, chr, Ian) aaarchaa tha memory araa 
pointad to by "arc" extending for "Ian" bytaa, 
looking for tha laat occurranca of tha byta 
"chr". it atarta at tha beg inn log of tha 
atring, but acana tha antira atring, rathar 
than stopping with tha firat match, 

char *mearchr(erc, chr, Ian) 
char "arc, chr; 
int lao; 



i 



1 



char "ana; 

for (ana - NULL; — Ian >- 9; 
if l"arc — chr) 
ana ■ arc; 
raturn ana; 



arc**) 



nrovfdot, arc, Ian} copiaa "Ian" bytaa from "arc" 
to "dat", in ravaraa ordar. It will work with 
complataly overlapping, but not partially 
overlapping, eource and deetination etringe. 
On each iteration, it ewape eucceeeive 
charactara from the next positions from the 
front and end of each atring. 

msmrev(det, ere, len) 
chsr "dst, "ere; 
int len) 



I 



) 



chs 



while (srea > arc) 
< 

t • • — ercx; 

•—data - "arc**; 

•dat** • t; 
) 



aaet(det, chr, len) fills the m« 
"dat!9..1en-lj" witb "len" bytaa all 
"chr", and raturna a pointer to "det" 



lory area 
equal to 



char •memeet(det, chr, 
char *det, chr; 
int len; 



len) 



) 



char *d - det; 

while ( — len >- 0) *det** - chr; 

return d; 



The "etr" family of etring-hendl ing functiona doea 
not allow arbitrary contanta of etringe, ae the 
proceeeing la controlled by the terminating nulla in 
each atring. Thia ie coneietent with the manner in 
which C compilere handle conetant • etringe and the 
etandard C functiona handle character etringe. 

etrcet(e, t) concatenatea "t" on the end of "a" and 

raturna a pointer to "a". Piret it finda the 

end of "a"; then it coplea "t" to the end of 
■a". 

cher "etrcat(e, t) 

char "a, "t; 

f 

char "aave • a; 

while (»•++)> 

for ( — al *•♦♦ - # t**; ); 

return mmvt 
I 

etrchr(e, c) returns a pointer to the firat place in 
"a" where "c" occurs, or HOLL if "c" doee not 
occur in "a". 

char "etrchr(e, c) 
char "a, c; 

for on 

i 

tt ("a — c) return a; 
if (l*e**) return HULL; 

, ] 



68' Micro Joumai 



13 



atrcmp(e, t) returne ■ value > 9, ■ 9 t or < 9 whan 
■a" > "f, "a" » "t", or "a" < "t", according 
to tha ASCII eequence of charactara. It aklpa 
tha equel preflxee and utti tha valuaa of tha 
flret unaqual charactara to determine tha 
comperleon valua. 

int atrcmp(a, t) 
char «a, »t; 
( 

whila (*e *• •t**) 

if 4 1 ••♦♦) raturn fl; 

raturn *a-t(-l); 
) 

etrcpy(det, arc) coplaa tha charactara atarting with 
"arc" to tha araa atarting with "dat" until a 
null character ia found, and raturna a painter 
to "det". 

cher *atrcpy(det, arc) 
Cher *dat, 'arc; 

( 

cher *eeve • det; 

while (*dat*+ « •arc**); 

return eeve; 



etrend(e) returne e cherecter pointer to the null 
which ende "a". 

cher *etrend(e) 
cher "a; 

{ 

while (••♦♦); 
return e-1; 



atrrpt(dat, arc. k) rapeete atring "arc" into "det" 
"k" tlmae. it returna the n unbar of cherectere 
■oved. 

int etrrpt (det, arc, k) 
char *dat . *erc; 
Int k; 
( 

cher *eeve • det, *p; 

for ( ; — k >« i; --det) 

for (p • ere; "dat*-* ■ "p; ); 

return det-aave; 
J 

atreub(det, ere, off, len) coplaa up to "len" bytee 
from "erc"+"off" to "det". The velue returned 
le e pointer to the termineting null of the 
reeulting etring. 

cher *eubetr(dat, ere, off, Ian) 
char "det, fl erc; 
int off, len; 



f 



while (--off >- 0> 
if <J*erc^) 
( 

•det • *\9* 
return det; 
> 
while { — len >- §) 

if ( |("det^ ■ •iec^)) 
return det-l; 
•det ■ *\9'i 
return det; 



etrlen(e) returne the number of charectera in •■■ 

int etrlen(e) 
cher fl e; 



) 



lot 1-9; 

while <•■♦♦) ♦♦!; 

return 1; 



etraov(det, ere) copiee the null-delimited etring 
pointed to by "ere" into "det", and returne e 
pointer to the terminating null in "det". 

cher *etreiov(det, ere) 

cher "det, "ere; 

I 

while ("det** • ■ere**)? 

return det-1; 
} 

etrrchr(e, c) returne e pointer to the leet 
occurrence of "c* in 'r, or MULL if "c" ie not- 
found in "e". 

cber •atrrchrte, c) 

cbar "a, c; 

( 

cbar "ane; 

for (ene - HULL; *erc; ire**) 
if («erc — cbr) 
ana m arc; 
raturn ana; 
> 

etrrev(det, ere) copiee cherectere from "ere" to 
"det", in revarae order. It will work with 
completely overlepplng, but not partially 
ovar lapping, aource and daetlnetion etrlnge. 
On eecb iteretlon, it ewepa aucceeeive 
cbarectere froa the neit poeitione froa the 
front and and of aech etring. 

etrrev(det, ere) 
cber fl dat, "arc; 
< 

cbar *datz, "arcz - ere, t; 

•bile (*erce++); 

area—; 

detz ■ det ♦ (erct - ere); 

while (irci > ere) 



{ 



t • ■ — ercx; 

• — dete - •■re**; 
•dat** ■ t; 



Next month' a coluan will continue the eipenalon of 
O'Keefe'a atrlng-proceeelng functione. The ultimata 
goal le the definition of eeverel famillae of 
functlona which will provide the programmer with e 
flexible library which will lncreeaa productivity, 
readability, aeee of uee , and anhence tha 
atructurlng of C progreaa. 

C PROAIEH 

Tha problem with the following definition; 

tdefine tolower(x) (ieupper(x) ? <x>|32 : (x)) 

ia in ite eide-effecta with carteln ergumenta. 
Conalder the effect of the following ueaga of the 
definition: 

c - tolower (*p++) ; 

which, when expended, becomee tha following: 

c- (leupper (•?♦♦) ? (•?♦♦) |32 : ("?♦♦)>; 

Note thet the cherecter which le teeted for ceaa le 
not the aana charecter which may be converted to 
lower ciifl. There ere et leeet two poaaible 
aolutione to the problem. One ie to aeke "ielower* 
e function, teking edventege of the call-by-value of 
arguaente to C functlona, aa follow*: 

char lalower(x) 

char x; 

( 

return (lauppei(x) 7 (x) J 32 : (x)); 

which work a only for arguaente of type cher end int. 
Another poaaible aolutlon lnvolvaa tha introduction 
of an Intermediate variable to circumvent the double 
expenelon of torn erguaent of tha definition. Toe 
revleed definition end variable declaration ere ee 
followe: 

Ideflne tolower(x) ( leupper (_c* (x) ) 7 _c|32 : _c) 
cher _c* 

which worke fer argument a of eay low-level type,, 
but ie ellghtly leee efficient ie code end time then 
the originel definition. 

ifhet doee tbe fallowing promt ma outfit?! 

tlnclude "etile.a* 

Idefine eep(z) if ((x) •• *\t* ) prlntf(" ") 

< 



14 



'68' Micro Journal 



> 



char c[J - •abcNtdef*; 

char - p; 

for (P - c; - p; p**) 

( 

if <«p !- *c*) 

exp(«p); 
else 

printf ("Ic^'p); 
1 



68000 USER NOTES 



What guideline for C programs does It illustrate? 
EXAMPLE C PROGRAM 

Following is this month** example C function; it is 
fro* Phil Gunsul, and provides s "rename" function 
for the introl version of C for FLEX. 



Kenomm vlll rcna»« a Mli on th« disk, Th« atrlng al mu»t 
point to th* oJd Mil D«n* and •it*ntlon, with an optional 
driva nuffber fol loved by a pariod. pot axaapla, al aay 
point at a string *2 , Junk.tx t" . If a nvanbac la not 
■pacified/ auch am "junh.txt" tha working driva nunbtr will 
ba uaad. 32 should point at tha daiirad naw nwi, auch aa 
*ji!flk.bak*. Ho nmdbar ia allowed to praM* il , and it auat 
hava an aatantion prefixed by i '.'. If tha fila ■•n^n ia 
unabia to ehaftga naiei (disk la wrlta protected, a fila by 
that nan* already exiat, ate. J , a -1 will ba returned. 



tinclode <stdlo.h> 
♦include <flex.h> 

rename (old_naae_ext , new^nuie ext) 
char - old name est, "new name ext; 



char c; 

struct feb wrk^feb; 

wrk fcb. function - RENAME; 

if 7i«4igit(c - •old_name_ext>) \ 

wrk^feb. drive ■ •old_nsme_ext+* - 'fl'; 

o 1 d~n am e_ex t ♦ ♦ ; 
} else 

wrk^feb. drive - FLEX_OATA.wotk_dtlve; 

transfer (t wrk^feb. filename , old_narae_ex t) ; 
transfer (awrk^fcb.s ,new_name f new_name_ext) ; 

return! fms(awrk fcb, c)>; 



transfer < fcb pnt, string) 
char *fcb_pnt, "string; 



int 
chsr 



J, i; 



frt i < 9) 



for (1 - lfl; i > 9; W-> 
fcb_pntlil • 0; 

while ( (c - stringUJ ) I- 
fcb_pntH**l - c; 

J - ++i; 
i - 6; 



while <{c • string! j**)) I» 9 »& i < 11) 
fcb_pnt[i+*J - c; 



SUPPORT YOUR 
ADVERTISERS 



Philip lucldo 

2320 Saratoga Drive 

Sherpvllke, P% 16150 



Portability 

In one of my previous articles, I mentioned that I was 
now commonly writing utility programs In C, and using 
them without change on both the 6809 end the 68000- 
Th Is has proved to be more and more Important. For 



Instance', I em working on several different large 

Programs at the moment, with an eye towards selling 
hem, and It makes sense to be able to sell them In both 



program portabllHy which 
ability to control- The 



6809 and 68000 markets with minimal changes to the 
programs* As I write these programs, though, It Is 
becoming obvious that simply using a high level language 
Is no guarantee of portability. Writing a truly portable 
program turns out to require a little care ana thought, 
as well as some good programming habits. 

Syntax 

There are some obstacles to 
are beyond a programmer's ab 

compilers used to Implement a given high level language In 
two different environments may actually accept two 
slightly different languages, syntactically. For 
Instance, with Pascal, there Is no universally established 
method for declaring a default action whenever the 
expression in a case statement falls to match any of the 
case values* Since It Is very useful to be able to specify 
a default as In the C language swTtch/case/defeutr 
construct. Individual compiler authors have extended 
Pascal, each using their own peculiar syntax. 

C also has some problems In this regard- While C 
compilers tend not to Implement unique extensions to the 
language, probably because the standard language as 
defined Ink &R (Kernlghan & Ritchie, The C programming 
Language) Is quite powerful and complete, various 
compilers fall to Implement some features* This Is 
commonly found In trie so called 'Small C compilers. 
Typically, these compilers do not accept C language 
features like floating point operations, structures, or 
Initializers. Further, even few 'full' C compilers 
Implement bit fields, which are described In K i R, or 
such newer features as passing, of structures as 
parameters, added to C since the publishing of K A R. 

Point one In writing portable programs, then. Is to use 
the minimal language syntax which can be expected to be 
widespread among compilers. For C, this mostly means 
staying away from bit fields . Unless a Small C compiler Is 
all you have available, go ahead and use structures, 
Initializers, and the like, since full C compilers are now 
quite common, and structures, In particular, are 
Indispensable In combatting other portabllHy problems- 

The Library 

Much of the power of C Is derived from the routines 
which make up the subroutine library which Is supplied 
with the compiler* Unfortunately, different compilers 
come with different libraries, there does exist a 
standard of sorts, the library found with the Unix 
version of C. This became a standard mainly through lt f s 
Inclusion In K & R, and Is known the 'standard I/O*, or 
stdlo package. Just because a compiler claims to be 
Unlx-compatlble / or Include the stdlo package, though, 
Is no promise of Immediate portability as far as the 
library goes. 

Generally, the presence of the stdlo package means that 
certain file routines, known as the buffered I/O 
subroutines, are available* These Include such functions 
es fop en, freed, getch, pirtch, and prlntf, which work by 
buffering data rnto blocks, which are then read or 
written as a whole. The buffered 1/0 routines are 
usually externally Identical, so that they can safely be 
used In portable progrems. 

There Is another set of 1/0 routines which supply more 
direct calls on the operating system. These routines 
Include reed, write, open, and creet. While direct I/O 
routines may In fact have these names In a C package, 
th-ey mey not be used In the same manner as the like 



routines In another package. For Instance, ope* tikes 
a parameter giving the filers access mode, such as read, 
write, or update. The actual numeric values of the code, 



•68' Micro Joumai 



15 



though may depend on the particular operating system. 
Thus, the access mode parameter used fn the Mlcroware C 

&ackege Is different from the same parameter In Unix C. 
hlle direct I/O may be required or preferred, for 
reasons of efficiency, portability may force a programmer 
to use the buffered routines Instead. As an 
alternative, there are techniques using the C pre- 
processor which may assist In making direct I/O calls 
portable. These will be discussed later. 

One constant source of headaches fn writing portable C 
programs fs the memory allocation routines. These 
routines are used to request more memory from the 
operating system, or to return memory which fs no lonqor 
required* Generally, such routines as c alloc, mc, 
free, and brfc are available. Depending on the c Tier, 
there may be several variations of brk. such as 
Micropore's sbrk, Tbrk, and ebrk (In the 0^-9/68000 
version onfvl • As with file I/O. these routines may be 
thought or as buffered and direct routines. The 
buffered routines, celloc, melloc, and free, request 
memory from the operating system In chunks, and then 
parcel It out In pieces as higher level requests are 
made. The brk routine, on the other hand, performs 
direct calls to the operating system* As such, It Is 
more likely to change from compiler to compiler* 
Certainly check beforehand, but If It all possible, use 
the buffered routines for portability, as th«y are more 
likely to remain compatible among separate compilers* 

Point two In writing portable programs: stick to 
whatever standard exists, as far as the run-time library 
of support routines goes. This standard, usually, will be 
the buffered routines found In the Unix C library. Use 
carefully, or preferably avoid, the direct I/O routines 
which exist with the same names but different forms In 
various compilers. Finally, avoid If at all possible those 
routines wmch are unique to a certain operating system 
or compiler, unless you do not plan on porting a program 
to ano+her OS. For Instance. 0S-9 C compilers generally 
have an os9 subroutine, which Is used to Issue direct 
requests to the kernel. The subroutine may have a 
different name, though, and If you wish to port a 
program to CP/H, for example, where a subroutine called 
bios exists for the same purpose, the calls will be totally 
Incompatible. 

The PYe fp u»e*sor 

Sometimes, a program may be portable to another 
operating system with only some changes In various 
parameters such as buffer sizes. Here Is where the 
pre-processor comes In handy* The C pre-processor 
does not actually understand the C language. Instead, 
Its Job Is to read the C source text, searching for 
special lines hlch ere commands to the pre-processor f 
and modifying the text according to These comends 
before pass nig It on to the actual compiler. Ety proper 
use of pre-processor eommands, different versions of a 
program can be selected by the modification of a single 
fine in the source. 

The main Idea, as far as taking care of numbers and 
strings which may change between compilers and 
operating systems, Is to create what are known as 
manifest constants. A manifest constant Is a constant, 
or fixed value, which Is given a name* In each place 
where the constant Is required, the name Is used 
Instead. If the line equating the name with the 
constant Is placed where It Is highly visible, at the 
start of the source file, then modification of the 
program does not require digging Into the text for 
obscure references- instead, Just the definitions are 
changed. As an example, suppose a program requires a 
buffer of a fixed size of 9K, Instead of numerous 
Incomprehensible references to the number 8t92 P a single 
line 



Ideflne BUFFER SI 4 



8192 



can be present at the start of the program, with the 
name BUFFER SIZE being used In the body of the program* 
Changing thrm size of the buffer, for a new operating 
system, tor Instance, Is es simple as changing the single 
fdeflne. 

Still more can be done. It Is rather Inconvenient to 
have to physically change many definition lines In order 
to use a program on a new operating system. An 
alternative Is to supply all of the constants, for each of 
the various operating systems* This Is done with 
conditional compilation, using the #!f/#efse/#eedlf pre- 
processor commands. As an example, consider the 
BUFFER_S1ZE definition: 

flfdef 0S9 



/define BUFFER SIZE 8192 

#else — 

flfdef UNIX 

/define BUFFER SIZE 32768 

#else — 

'define BUFFER SIZE 4096 

ifendlf - 

lend If 

The #lfdef pre-processor command checks If a given 
manifest constant has been defined before* A previous 
definition will usually be done using an /define 
statement, though some compilers allow a name to be 
defined from the command line. The lines above pre- 
suppose the definition of a manifest constant giving the 
name of the operating system being used. Thus, If 0S-9 
Is used, a line such as '/define 0S9 I 1 must exist. If 
running under Unix, the name UNIX Is defined Instead* If 
the constant 0S9 has been defined, then the name 
BUFFER SIZE will be equated with the number 8192. If 
not. ttmn the name UNIX Is checked. If |t exists, 
BUFFER SIZE will be 32768. If both 0S9 and UNIX are 
undefined, a default definition of 4096 will be triggered* 

The Mlcroware C compilers au+omat fealty define names for 
the particular operating system. The 6809 C compiler 
predefines a name of 059, while the 68000 version 
predefines a name of 0SK. Thus, when working on a dual 
6809/68000 machine, as I am, these names mav be used In 
a program without definition, greatly enhancing the 
ability to compile a program under the two operating 
systems with no changes whatsoever to the source text. 

The conditional pre-processor commands do not have to 
surround other pre-processor commands only. Normal C 
language may also be conditionally selected. For 
Instance, In a program I have written, I need to use 
chain, which transfers execution to another program. 
There was a bug In the 68000 version of chain, though, 
and I was forced to drop back on the equivalent routines 
os9fork followed by welt. This Is Inefficient, though, 
and since the 6609 Is tight on address space. I 
preferred to stick with the chain If possible. The 
resulting code went something like this: 

flfdef 0SK 

os9fork ( name, ps lie,. - .); 

waltUstatusi* 
#else /* OS-9 default V 

chaln(name,ps!ze,. . .); 
fendff 

If there are a large number of definitions that change 
between versions of a program running under different 
operating systems, It may be easier to prepare a 
separate text file, consisting only of the definition 
lines for a particular operating system, and use the 
/Include pre-processor command to read the separate 
file. For instance, flncfude m d&fs»h m will cause the lines 
In the file defs.h fo be Included as part of a C program. 
If the source for a number of operating systems Is kept 
as a single file on a machine, such as on a dual 
6809/68000. Ilfdef statements mav be used as above to 
Include different flies based on the operating system. 
If the source is transported to a different machine, 
then the same definitions file name can be used, 
assuming the file name meets the requirements of the new 
operating system. If not, then the /Include line will 
neve to be changed. 

Point three when writing portable C programs; use the 
pre-processor, especially as regards manifest 
constants. Don't tell yourself that of course some 



number will stay the same between operating systems. If 
there Is any chance It might change, give it a name, and 
comment the definition of the name so you know to change 



It later. 



Data Types 



As lone as programs were being ported among 8 bit 
computers, little attention nmedmd to be paid to such 
matters as the size of Ints and other data types. When 



moving bet een 8 and 16 bit systems, though, The matter 
can become quite Important, causing bugs which are very 
difficult to find. 

On the 6809 1 Ints, short Integers, and pointers ere 16 
bits wide, chars are 8 bits, and loeg Integers are 32 
bits. On the 68000, char, short, and long Integers 
remain the seme size, but types Int and pointer are now 
32 bits wide (at leest under Mlcroware CI. Because of 
this, code which assumes 2 bytes p$w Integer or pointer 
will fall. While a program will occasion ally need to know 
the size of an Int, It should n ever use a fixed constant. 
Instead, the slzeof operator should be used* This 



16 



'66' Micro Journal 



returns the size of a dofo type In units of the size of 
chars, which Is 1 byte for practically all microcomputers. 
Thus, to Increment a pointer of type char • past an 
Integer, the line used should be 



not 



p ♦» slzeof(lnt); 



P *■ 2; 



SOFTWARE TOOLS 
IN PASCAL 



There ere other places to look out for the data size 

froblem. A program I once wrote created a temporary 
lie which Included pointers to symbol table references In 
memory. The program assumed a 7 byte pointer, and used 
calls to a routine outwordO to perform the output to 
the file and InwordO to reod the pointer bock. When 
the program was moved to a 16 bit processor I had to 
slowly search through the entire program, looking for all 
IftwordO/outwordn references to pointers. Each of 
these then had to be changed to 4 byte read/writes, 
using new routines InptrO/outptrU. It would have been 
far better If 1 had had the foresight to use separate 
routines for the pointers from the start. The moral: 
don't ever assume anything about the size of a doto 
type. It might change. 



With Ints and longs being the same size In the 68000, It 
Is tempting to Ignore longs altogether. This can cause 
problems It you try to port back to the 6809. If a 
variable will fit In an Integer In both the 6809 and the 
68000, use an Integer. If If needs a long with the 6809. 
use a long for both processors. Be especially careful 
when using prlntf. since It requires long parameters to 
be explicitly declared lona In the output format string 
(e.g. "I8ld* Instead of *|8d">. If you are forced to 
convert an Int to a long s a 68000 program can be moved 
to the 6B09, look carefully for these prfntfs. 

Another problem with differences In doto types has to do 
with sign extension and the type char. K 4 R 
specifically state that a character value may be 
converted to either a signed Integer or an unsigned 
Integer, and no assumptions should be made as to which 
actually occurs. Ihe Hlcrowere C compilers, for both the 
6809 end 68000, perform sign extensions, for Instance, 
while CP/H C compilers I have used perform unsigned 
extension. To prevent problems, programs should 
perform an AND operation (c I Oxff) whenever sign 
extension might be a proble . Having said that, though, 
I have to acknowledge that It can be devilishly difficult 
to find all such occurrences. 

More Importantly for 6809/68000 portability, the same 
problem appears when dealing with type short. One 
program of mine created a symbol table which I wanted to 
keep as small as possible, so short Integers were used 
where possible. This caused no problem on the 6809, 
since short and Int are the seme thing there. n the 
68000* though, shorts ere sign extended to Ints. The 
results were quite confusing, until I printed out some 
values using debug prTntfs, only to discover that some 
values were being printed. In hex, as Oxfff faced. Instead 
of the expected Oxabcd. The answer, as before, Is 
careful use of AND statements <vel a xffff). 

Sign extension can also be handled by specifically 
declaring affected variables as unsigned chef or 
eeslgned short. This will only work If your compiler 
understands such declarations, which Is by no means 
assured, since K & R seems fo specify that such 
declarations ore Illegal (I think - the book Is rather 
hard to reed, there). Despite K & R several compilers. 
Including the latest versions of the 68000 Hlcrowere 
compiler, do accept these types, probably because the 
Unix compiler does so. 

The final point (this month) In working towards 
portability: watch the assumptions ab ut data types. An 
integer Is not necessarily the same everywhere you took. 

Wiere DU m> Space 09? 

I seem to have gotten too talkative again. There Is still 
more to be covered, particularly the use of f defines to 
take advantage of features available only with particular 
microprocessors or operating systems. In addition, I em 
beginning to see Information appear on the new 68020, 
and should have something to say about It next month. 



SOFTWARE TOOLS IN PASCAL 

Brian W. Kernlgan and P.J.PIauger hoye written 
an excellent book that teaches good programming 
techniques. The programs and elgorlthlms that 
they present In the book are useful, and they 
work. Many authors In the past using other 
programming languages have typically presented 
programs that are Incomplete and barely work at 
best. This author was very pleasantly 
surprised at the quality of the programs that 
Kerrigan and Pleuger have presented In their 
book. This book Is a treasure trove of useful 
and valuable Pascal programs. 

Chapter one, titled "Getting Started", deals 
with the methods and slyles that Kernlgan and 
PI auger use throughout the rest of the book. 
Within this chapter the various lower level 
"primitives" ore discussed In detail. These 
functions and procedures ore used as the basic 
tools or building blocks for the rest of the 
book. Besides basic file copying methods , 
various character and word counting programs 
ore 1 1 lustreted. 

Chapter two continues with various groups of 
programs that ore called FILTERS. Filters ore 
used to make changes to data that Is being 
passed through them. Programs that fall Into 
this category Include TAB removal and 
replacement within text files. ther programs 
ore designed to replace backspaces or perform 
text compression or decompression on files. 

Chapter three discusses In detail various 
methods for handling data within files. This 
chapter Includes e file comparison program. 
Also since some Pascal compilers do not Include 
a "include" function, a program Is presented 
that performs this task. Other programs 
Include file concatenation, dynamic file 
creation, and archiving. 

Sorting Is discussed In chapter four. Several 
methods ore explained including the bubble 
sort, shell sort and quick sort elgorlthlms. 
All three techniques ore shown along with 
programs that demonstrate the elgorlthlms. 
Besides !n-memory sorting programs the chapter 
also Illustrates the methods by which one can 
develop a variable record length sorting 
program that can sort flies larger than those 
that can be sorted In memory. 

Chapter five discusses the methods of text 
pattern checking and matching. A program named 
FIND 1 1 lustretes the methods by which one can 
Implement this useful function. Another 

program Is explained which also changes text 
besides just finding it. 

A very Interesting and novel text editor Is 
presented in chapter six. This particular 
editor Is a line editor, and It Is very well 
documented. Thus one should not have too much 
difficulty Implementing It on any specific 
computer system. The editor sports all the 
neccesary functions Including line Insertion, 
deletion, and search and replace procedures. 



'68' Micro Journal 



17 



Chapter seven discusses text formatting. The 
text formatter that Is presented contains a I i 
the needed functions that one would normally 
require In formatting a text file. Some of the 
functions Jnclude left and right margin 
justification, paglnq, page numbering, line 
centering, and indenting. The text formatter 
works very well as this article was originally 
formatted using It. 

Chapter eight covers macro processing. Macros 
are used to extend a programming language such 
as assembly language* Macros can also be used 
to expand upon the text editor that is 
presented In the book. Also one coufd use 
macros to replace text In a file with more 
complex forms of text. 

In the appendix, the last section of the book, 
various example procedures and functions are 
provided to help aid one In being able to 
utilize these programs. Such /ow level 
procedures and functions Include opening and 
closing fifes, and the reading and writing of 
characters. Some Implementations Hclude 
examples for the University of California at 
Berkeley lUCfi), Whitesmiths Limited, University 
of California at San Diego (UCSD) Pascal 
systems- These various Implementations also 
Include UNIX compatibility, so users with 
microcomputer systems using TSC's UNIFLEX or 
Mlcroware's OS-9 should have little difficulty 
getting the programs up and running. 

"Software Tools In Pascal" was preceded by an 
earlier work titled "Software Tools'*. The 
earlier book presented It's programs In RATFOR, 
which Is e language based oo FORTRAN. The 
newer book goes much farther In redesigning the 
programs and considerably Improving upon the 
original FORTRAN Implementations. "Software 
Tools In Pascal" Is published by the 
Add I son -Wes ley Publishing Company. 

In closing, the author has added the following 
Pascal programs named OPAGE, NDPAGE, TPAGE, and 
NTPAGE to those In the bock. DPAGE and NDPAGE 
perform the function of setting up formatted 
text Into double column pages* TPAGE and 
N1PAGE set up the formatted text Into triple 
column pages. AH four Pascal programs were 
complied using Mlcroware's Pascal compiler and 
language package. Al I of these programs as 
presented In the book and the additional ones 
can be compiled all the way Into Native Code 
using Mlcroware's Pasce I compiler. NDPAGE and 
NTPAGE aiso demonstrate the use of entering 
Information Into a program vie the command line 
with the language extension SYSPARAM. 

Earl W. Bollinger 

912 West First Street, Apt 5 

Fort Worth, Texas 76102 

ai 7 -877-0625 



MIL* cdm(I1> r DC 

randottrAtf,ii">>; 
v;«r*rt«lO-lD0f 
riAdMlrnd.-.Ml; 
di»400»ro4UO; 

• i-l+rndf 

IF l* TMEK «:*{ 



mill sot Ittdld DO 
KtlN 
•Ovtltt(d); 
ftJUKf.v.d); 
IF f>9 THEM 
Durnr*tt(*» 

asc 

IF #>♦ TttN 

fi-l-bj 

c**o-g; 
d:>te«ini<d*v*c/2l; 

if |<»0 T*H 

liAdid.-'truii 
EMOi tot iftwr rfuii loop) 

■rittln; 

nrftiln; 

■rittlrtl'lEfl is Of 1K» tuHict of tht i 

♦rittlnt 



i»"lj 



IF v<-S thin 

Km 

■rHfiM'EtitttUf *pf#d of UndinQ"'!; 
truhfdtrM, *,«,{, d,rnl 

m 

£ISE 
AOfcU.f); 

■rititn; 

mtUV tooth* f*»#- <Y/I>; \: iro*t; 

U'li 

DH[1£ Hot n\p\ 4Ad (Kol DO 

rot4UDM(f]>; 
i:ttuec(il; 
E«; 
vrittln; 

Tf coottlli r J** CDtilU^Ti 
{NO; { <H outtf •bilt :oop ] 
£«. 

■rittlR(f:(». unU of 4wL ro44ir.in$. T l; 

rjf>doilff>d,i,rol; 

d:*<«rod*J; 

vrUtlot froducid in ttplotiw covirin| \d:0, * *t} ultt'l; 

nmUIaC o* lun*r turlic** 1 '){ 

«ritfln; 
END; 
•riltlni L E fl £ 5 T R Y E P * • '); 
*ftilnj 

•rittlM ♦♦♦•♦• TCU HEV IT' ••••♦•); 
wftflfti 
urttltl; 
DID; 

PflDCBUK IOr«M* »,f: [«TE6E*>l 
Hilt 

irittUj 

vittUI* COMllATULlTIQiS 11 r>; 

irtttio; 

■rfttUCA Ptrfftt lirijifl" >J 

WlttlftJ 

*iUlirToufM*M Ttlocitft ViOl; 
•rtUlil'Fvtl rtMioUg: MiO>| 
vittlit 



fWEim (it uneai i 

< mod to trio tM LGI tptiir to oevt do* too ttTMn ) 

m 

it ]VTE€Eftl 
KCii 

•i-tr«rMH'<Oli 
Mill *)« 10 



18 



68* Micro Journal 



KfifM 

■rit«Zn; 

uiprtdU); 
DO; 
CM; 

( The Alia progn* ) 

seen 

c:»J?8: 

r4Adoa(r«d,i.rtiJ; 
j:«rnd«J3; 

BEBlK 

rindo#frnd,*,rnl; 
l:*PrtdUlf 
Oft; 



LUNAR LAbtER fiAAE SlftJtATN* ) f 



•nttlns 
■rfttln; 
*ltfln< 
•rittln; 

wntilftl Try to land th# Un on tht lurftct of the •aon by tnt*nn9 J; 

•nttlflf tht furl burn rjttt nhtA rtqutsttd. rj 

■rfttlr; 

■ritAifll SO00 LUCIT 1 ']; 

orUtlo; 

•ritfln; 

COIitlhi T • 



[ U-j-Huci- is iAothir ;io,r»*f uti*> si tit cUtsicil gto* J 
( a> nhjih tx Nvt tc Nad * wttt «i*U!t on tht too*. 2 

< This pftrH:Ll« itfticii could tot hAvo tm {AitMCnttl j< 
I ill if it mi\n t for KF.Elbtrt md fc;t str.tt cf trtictf* 
( i» p 64 m:rs Jour/iii 4 i&turt lov.ll, Drt.flt, Jm.B2, F«^.82 
! MJt6 *S. oil Alton, 6tMt, tnd Ptndot Vir't*a!t(. 
< 
( ft? C.B. tol1titi.tr on *4r. tS IW, 



m 

t,c,l,M,i,rnd,».ii 1KTESEP: 
m: NEH; 

com: ftRWfU.,5) of CHAR; 
I AiM: flXXEAX; 

ntOCEAAE MMOONfVAff rnd.tt 1RTEGCR: ra: REAL h 
VAj) 

ji (HTtttJt 
( istd to ftntrttt rintfoi inttQtrs brtitrn ind 9 1 

K6IN 
uthAoortfUiitl; 
i:illlfi; 

IF i(0 T)CN i:»m327oM| 
nru/32747.0; 
OAthiftorKtrat); 
i:*iatbrt%tflt; {vittd t& Otv i«y trror corftt out) 

rn4:^rttftCfi/E0OO); 

IF rod* TMEV rnl:»rod tod 10; 

rtOCEOUtt STAIUSlVtf f,»,d: IHtlCCRJ; 
CtU 
•nUlaC Q FUELt ',**•!; 

orfttucm s«Oi \vi0h 

r-ittltf/-\ HElttli ,d:0Jj 

*ft»ta; 
Pttj 

*K£A*f lUfttftATEtVtf b: INTEGER!; 
K61N 

■ntfCRM: 'r; proipl; 
rtidlnrb); 
DO; 



PROCEDURE CRASHED(VM rni,t,f,f,<fi 1MTCGIR; riu ft£4L? ; 


Ktr* 




•nttl*; 




w i til d I CRASH CMS* PM5H t; 


■rTttkt 


m«* ••«•• «m ); 


•rfttlo; 




r-itlln; 




onttltt 


!«ai:t »tlocity: ,v:0l( 


nrft*!n! 


LFJ buntd; ,d:0, fttt. \i 


•rtttlo: 




IF m Hf I 




K6JN 




1 


01 


M06RM rWKj 


i 


00 


f iftfASE— outputs a tnrM coluin forwt 9igr of tf*t 


I 


00 


( froa the fill 41 inautttd, Tht fill sfeotld bt Jtt 


* 


00 


( up ■itn col mn Itts tUn 40 *idt and oo Iiok to J 


1 


01 


( UQt, ) 


6 


00 


( Thu vtMiM prints pifli nutptrs. stjrtiog nth tht > 


7 


00 


< p<gf nuobtr 41 inttftd by tnt tittr. It Alto prints ) 


8 


00 


{ only thi Irfttott top of ptqt hudtr hot, tnd ) 


9 


01 


( stript 4.11 tht rttt of tt* hMdtr And footer lints. ) 


10 


00 


i ItfPAbt n lomtrto* bt itr nigw <nd flauqtr s boot ) 


11 


09 


( tittid SoftMft Tools in PascaJ . } 


12 


00 


< ) 


13 


01 


{ Typical cooiand lioot ) 


14 


00 


( 059: PiscaU <wnrct Jttstinatioa NTPA6£ tp^qonuo 1 


IS 


Of 


[ OSfi PascaIi (sarct >d#stin*tiw KTTAbt «14k ) 


U 


00 


{ If coapilid iMo oojtct codt; ) 


17 


01 


I Wit OTME (tourct >do»ti nAtion Tpjg* nuto«r > 


19 


00 


{ ) 


19 


0* 


( IV f.MOUJRTO w Octootr 12, 1982 > 


70 


00 




21 


01 




72 


M 


COCf 


23 


01 


PAOll * 44; 


21 


00 


Mill* - 4U 


25 


01 


WIST* * 112; 


74 


00 




27 


Of 


o rm 


71 


00 


itrino « Afr4|[l..HAlStRl of chA/; 


29 


01 


PA9* ■ ArriyIL.PA«fLEn,l..«AIL[l€] o4 chir; 


So 


00 




31 


OB 


VM 


32 


00 


KUllK.llAi : cW; 


33 


-71 


lp4go.apAgoirpo9t : PAgt; 


34 


• 1200 


10 r trittfrr; 


33 


J J 220 


Oooo : booltm; 


34 


•1230 




37 -11230 


FUHCTt04t STTCdAf c; chirlt booliAA; 


36 


OD 


1 ( (ETC — fltU i chANCttr fra* itjndjrd input 


3f 


00 


1 Nfljn 


40 





2 if oof tbtf) 


11 


i 


3 crtilLL 


4? 


9 


3 til* if toln tKtn 


43 


22 


4 ktgin 


44 


22 


4 rtAdln; 


43 


25 


4 c:«*otr« 


46 


24 


1 tod 


47 


30 


4 list 


48 


33 


4 rtAdtCll 


41 


37 


2 If c«HJU Utn 


30 


40 


3 gttc:>trut 


31 


48 


3 tlM 


37 


33 


3 9#tc:«fAl»t; 


33 


3» 


2 tod; (of gttc ) 


34 





1 


33 





I RPJCTlOi 6ETLIOHVAT It tlrlofi tAilllztt fittgpl: booltAo; 


34 





] f ootLut - fffts A hot of tott froo W»o ttAfdird input 


V 





t tV 


3t 


oo 


} il mttg^r 


59 


-2© 


1 Clt ChAf J 


44 


-31 


l ftogto 


41 





2 i:»l« 


42 


4 


2 Mil* fnotigitc(ch))! «nd (iftiAiifetl Aod (cbCN£«LtN£) do 


43 


23 


3 Mlift 


44 


25 


3 slilj*ch; 


43 


37 


3 l:"«occCt! 


44 


39 


3 Md; 


47 


43 


2 if (coHPJll) tad UHI thtf ( b«rt to pnt, 4oet too ftr 1 



68* Micro Journal 



19 



41 


S4 


J Ct*prtd<il,' 


14G 


165 


S ELSf 




•9 


59 ; 


! tCi>>»*8Utt; 


149 


148 


5 li<; 


in 


70 


72 


2 g*tho*:«<ciO*U>; 


150 


ltd 




■fit**' '); 


7] 


81 ; 


\ End; (of fitlifti ) 


151 


176 




a:»1; 


72 







152 


178 




hKlLE rip*9*:i,nJ<)«E*lUE> «nd U<MIUft» 00 


73 





FtOCEJHJtf 8ETPtfMWI(m in: mtigtr); 


IS! 


214 




8*9in 


74 





[ ( |»tp*o*n»*4*r — ftti Ur styling pagt «Mbir fro* the ) 


154 


214 




flrit*llpig*Ei,tn; 


7? 





{ tart**t*r pilfttd to it in tht contend (int. ) 


ISS 


242 




•:*s«cc(*) 


76 





t m 


154 


244 




•of; 


77 


08 


u litr^j 


157 


248 




IF •(MILI* Tb*o 


78 


•a 


k REM* rtur; 


158 


255 




b*8ia 


79 


-35 


8**in 


159 


255 




f« i:*n to nAJLlPC 80 


eo 





2 tfTUWh •**]*; 


160 


267 




■rittf )\ 


81 


7 ; 


! irH>j 


141 


285 




•nd; 


82 


9 


* WILE t*N#«r**tU<>' ') **d ti<79) 00 


162 


285 ! 






13 


33 


X i:«mccU>; 


163 


285 ! 




It i<)3 THEN (strip ntr* Ind hndfrs) 


M 


59 


J mp4ra*[i1;«i£TUfli; 


164 


291 




BfQIA 


85 


52 


2 litlS 


165 


29] 1 




■rit*t* '); 


14 


54 ; 


I IF fupjrjiCOlOIUUft TKrN 


166 


299 ( 






87 


48 


I )t»tr«icfawtrrtHtyt0iri*)l; 


167 


299 i 




n:-l; 


88 


78 ; 


f fftuij 


168 


301 i 




mlli (*p*9tli,ft]<>8E«.l»»€l *nd (n<MIU8E) 88 


t* 


81 


! End; ( of g*tp«g*nn*b*r ) 


169 


S37 ; 




h*gin 


90 







170 


337 




•rit*lipi9*Ii,A])i 


9] 







171 


365 1 




rtr^ftttCt In) 


12 





PftOCEOURf 8ETP46E(vjr pg: p«gt; v*r dontt bool*<nl; 










93 





1 ( Qtlp*9f — 9tti «n tntirt pj«« of tut fro* ttiodird input ) 


172 


36? 1 




*Ad; 


94 





mr 


173 


371 i 




IF mil 1NE td*fl 


95 


OD 


t f,*M int#9tr; 


174 


J78 | 




btgm 


94 


-45 


S: lifingt 


175 


378 1 




FOR *:«■ to miltS. DO 


97 


-136D 


i l«gio 


176 


389 | 




■rittf »: 


98 


; 


! For i:»l to WEH* J>0 


177 


407 J 




**d; 


99 


17 


I Itgin 


178 


407 i 






100 


17 : 


S IF InotrdontH Kid lg*tlin*lf .MIL!*)) Thin 


179 


407 t 




iMtir "ii 


101 


35 


1 b*gin 


180 


415 : 






102 


35 < 


1 "-]; 


181 


415 1 




•Mil 


1*3 


37 


1 IF ri(n](>«MLlll£j and UfMOttU) T "« 


182 


417 i 




8MlLt (rp»9ili^](>«*LC»£) »i 1n<MtL)lf) 80 


104 


77 ! 


i §»9i« 


183 


453 1 




Itgfn 


105 


77 : 


i PXnnT 


184 


453 | 




vit*(rp«g*Ci f n]); 


106 


77 : 


\ pqfi,tiJ:t»lnJ; 


185 


481 1 




o:>IK(<«l 


107 


111 i 


b «:*ujci<n) 


184 


483 ] 




tnd; 


106 


113 I 


> IMTK <iln]***l*> or ftC*]*«JU> or <*x«4ILl*r; 


187 


487 t 




ini] 


109 


159 J 


> tnd; 


188 


487 ! 




End; 


no 


159 


1 If n<imUK Tltn 


189 


487 ( 


End; 


HI 


166 


i pgfl,fth*8E*UIIEi 


190 


487 : 


1 BTl 


t*ln; 


)I2 


189 I 


1 **d 


191 


490 3 


ii« 


itcclff); 


1J3 


189 


1 ELSE 


192 


493 : 


w; 




114 


142 i 


8tgin 


193 
194 


496 2 
] 


End! ( of outputtriplfpagt ) 


11? 


1*2 J 


I P8fl,13:=80ll«; 


195 


! 


{ Mil PflOGftM } 


116 


210 i 


r>«ri,2!:*HHl; 


196 





t 8*^m 




117 


228 


\ dont;*tru# 


197 


1 


fttl*:»chrUJ>; 


ll« 


229 < 


1 Endj 


198 


7 


MLl!»ehH0); 


119 


212 


I Cnd; { of for />nt loop 1 


199 


12 1 


iocti'Ul 


W 


Ift 


24* ; 


? End; { of g*tpi«* ) 


200 


17 


pn:«l; 




121 







20] 


21 1 






122 





rWEOHL OUTrUTTRJPUP^; 


202 


21 ] 


irtHgtauottr :c*l; 


12! 





( It liiply tJkK thrtt ptgei Of p^tviouftly for«ittcd ttit > 


203 


27 






124 





( Ml ovtiitl thM III otto Ofll p«9t. ) 


204 


27 ] 


MISi not < don* J 00 


ra 





»jr 


205 


34 ; 


I teqin 




124 


88 


l»iii,oidi mt*f*r; 


204 


34 2 


9»lp«9t<lp«t,do«i); 


177 


-18 


l*| in 


207 


43 ; 


f ttpi3*<*p*qt. don** ; 


128 


; 


\ itiilrmcimm/2-i); 


208 


52 2 


9*tpjfllrpi9*,don*); 


131 


14 ; 


I ii»l| 


209 


6i ; 


\ outptittripJtp«9tj 


1)0 


16 2 


MHILE i<«fVlfi£LOl 80 


210 


64 2 


Mid; 




131 


23 : 


1 **qj« 


211 


47 j 


En4. i o< tp«9t ) 


132 


23 : 


1 IF 1*44 !*« 










in 


30 < 


1 8*11 ■ 


HOC KAIK 


PSEC mil 


LOCAL ST40 CSCC CS1U 8E8US 


C36 


38 < 


i «iur 1; 


¥jvm 


8 49 


8123 9 9 


135 


38 < 


1 m mi to oid 80 


1 EETC 


1 40 


15 2 


136 


48 ' 


i •riur •>» 


2 KTLI* 


2 83 


3 10 3 


137 


44 < 


1 vittCHGE \*m4); 


3 6ETPA6EK 


3 82 


3 16 4 


138 


81 i 


1 *ni*uicc(»«l 


4 SCTPAK 


4 248 


138 13 5 


I3t 


85 ( 


i tod 


5 OUIPUUR 


5 497 


10 17 7 20 


MO 


81 < 


1 EL$t 






1819 


8777 88 20 


141 


91 i 


1 8)«fjin 










142 


9] 


1 If Hpig*(i,ll«EIMtf> at** 


211 Lint of m 


wrc* corf* £M»il*d •ith n* ■rr«ri fw*d 


143 


114 i 


1 <«P4t*ti,n<CH]*J Aid 








- 


144 


138 < 


i <'Pjg«C),M*4£*.l*) DO 


1 


08 


HOW* TH8C] 




143 


145 J 


\ 1*1 It 


2 


08 


( TFUC -- «fU«itK * tfcr*« ciIm*» trUX pig* of tut ) 


144 


(45 : 


i CdO toting for tin »*/t> 


3 


48 


{ fro* tht ft) 


t at wiU*d. To* 111* cfvoold b* wt } 


147 


14? : 


i *td 


* 


08 


«p ii tl toiu*Bi Itftt thu 40 nd* and 44 linif to * > 



20 



68 % Mlcfo Journal 



3 


04 


9 { pjgf. ] 


84 


159 


3 on* 


6 


00 


9 { TPAfif «at in«Pirtd b* ttrnigaa and PJaaBf i took J 


13 


159 


4 IF KPMJU* Toon 


7 


OP 


) i titlK Sottwt Tools in Pascal , J 


14 


166 


3 p|fi,n}:***UK£f 


e 


00 


9 < > 


87 


119 


4 tnd 


1 


OD 


) < Typical tooted input linti ) 


88 


189 


4 asE 


10 


00 


9 < Pittiii <iwr« >tfntin»tioo Tpjqt ) 


19 


192 


4 If gin 


]] 


02 


B { or if toapiltd into oVltct codt: ) 


90 


112 


4 pa(i,lh*CJUR£; 


12 


Ofl 


J i Tiqt <toorcf >dtitmttio» ) 


91 


210 


4 pg(i,2];'*ni; 


15 


01 


9 < J 


9? 


228 


4 do»i:»trui 


14 


00 


3 { tr E.«<B0LUICCF m Octotir 1, 1992 ) 


93 


221 


4 End; 


IS 


00 




94 


232 


3 End; 1 of far ntrt loop ) 


16 


00 




93 


246 


2 End: { of gttpaqi 1 


17 


01 


} CONST 


94 







ie 


00 


9 PtttUM • 46; 


97 





t PWCEWRE 0VWrTTUh.EFftflE; 


11 


09 


9 MlllNE * 4]j 


n 





1 1 It tuplv tiki* thru ptftt of prtviouiU tortatttd tti 


20 


00 


9 MIST* • 132; 


99 





I 1 and output i thro all onto ont patf* 


21 


01 




100 





1 *4f 


22 


00 


J NP€ 


101 


09 


1 i,n,tt littgar; 


23 


Ofl 


9 ithig • arra/Il.-HPiSTR] of cUr; 


102 


-61 


1 Itfin 


24 


0* 


9 pagi » imrU..f«ttlEII,]..MXLJJE] of CMr; 


103 


• 


2 ii*l; 


23 


OD 




104 


4 


2 9H1LE K-fftBELEK 90 


H 


00 


) VAft 


105 


11 


I Pfgin 


27 


OD 


9 KtfUK.NULl l thin 


116 


11 


3 IF (Itaailijl-NCIURO vtf (•P4gfli,n4g«Ll«] a/H 


29 


-» 


9 ]Ngf,tp*gt|rp4C,f I &a?l; 








21 


■8 1200 


9 dont : boolitf; 


■ftouic 


TIC* 


30 


-81211 




107 


15 


1 (Oo nothing for tht» parti 


31 


-11210 


9 FUCTld STClvix tl charli booitan; 


10S 


93 


4 ELSE 


32 


00 


1 ( fiETC — gits ^ cAaMctte frou standard input } 


109 


89 


4 Btgifl 


33 


00 


Otgin 


no 


18 


4 orittr *l| 


3< 





2 if wf thtn 


111 


96 


< n;=I; 


33 





J c:-ftJU 


112 


98 


4 WILE (tiagfthilONEftlKl ltd (itMllllEi 00 


34 


1 


J flu if folo thtn 


113 


134 


3 b*oiit 


57 


22 


1 Mia 


114 


134 


3 ■ntt(]pagifi,n]]; 


38 


2? 


1 rtadln; 








39 


23 


I c:-6€KLINE 


115 


162 


3 ■i>tuu(al 


40 


24 


i t*d 


116 


164 


5 tnd; 


41 


30 


1 flu 


117 


168 


4 IF odMlllfK Mm 


42 


33 


1 rta*"K>; 


III 


175 


3 itgn 


43 


37 


I if cNUlL then 


111 


175 


3 FOft tin to MIUNE 90 


44 


46 


S 9itc:*trut 


120 


186 


4 witit* ']; 


43 


41 


J tUi 


121 


204 


5 tnd{ 


46 


» 


S gttc:>f4lM; 


122 


204 




47 


39 


2 rndi ( of gttc } 


123 


204 


4 orfttf r; 


48 







124 


212 




41 





1 FlflCTlQN 4TTU*Efvar i: ttnog; Mtiuf: inttgtrl: booituu 


125 


212 


4 o : *l i 


30 





1 ( githn* — gitf a lint of ttit frot tha standard iryut 1 


124 


214 


4 MULE («pagiU,nK»Ettt*) and («(fWiLZilEJ 00 


31 


1 


•tr 


127 


230 


5 Wfin 


32 


OD 


1 i: intt*tc; 


121 


250 


3 «rtti<tpagtti»«l>; 


53 


-79 


(Is char; 


129 


290 


5 o]««uec(ft( 


34 


-3D 


I login 


130 


292 


5 tad; 


33 





I ii«I; 


131 


294 


4 ir oiMiim thw 


36 


4 


I riilt Inot^itclchlll and (i<U'sfttl and tcaCHKJlJttl to 


132 


213 


5 6o|in 


57 


23 


I ttz-- 


133 


213 


5 fW it<n to MIURC DO 








134 


304 


4 ortttC 'r; 


31 


23 : 


1 ihh-CR; 


135 


322 


5 fed; 


3? 


37 3 


i:»mcc<U 


134 


322 




60 


39 J 


\ mil 


137 


322 


4 orittr "1; 


61 


43 2 


if IchMWIU and roil thtn { bat l ufi ont, gont too far ) 


138 


330 




47 


34 : 


It*prtdU); 


139 


330 


4 ||*1; 


63 


3? 2 


tU)t>NEl,U9l; 


140 


332 


4 WILE (rpofoCMKHftUlCl mi fiOMILltf) 90 


64 


72 1 


gftlin»:t<Ch<)«lUi 


141 


U8 


3 btgin 


63 


11 2 


End; { of gillint 1 


147 


349 


5 orititrpjgtli,!)]; 


64 


1 




143 


316 


5 OKtucrinl 


6> 


1 


P9DCC0UK 9EJ?*6UiMt p;:pjqii v«f dent: boolian); 


144 


399 


5 tft*i 


6t 


1 


{ gttptat -- gots an rntirt paoc H tut fro* ittnoVd input ) 


145 


402 


4 EAdi 


6f 


1 


*or 


144 


402 




70 


09 1 


ii«t iotrttn 


147 


402 


3 oritiloi 


71 


HI 1 


ii ltritf; 


141 


105 


3 h*Mcc(ilf 


72 


-1341 1 


login 


149 


408 


3 En4; 


73 


2 


For if\ ti r*6BiH Do 


150 


411 


2 End; { of outputtrlplaaagt } 


74 


17 : 


login 


151 







73 


17 1 


IF Mldootl) mi <fttliot(i,IMXUlCll Tn« 


152 





1 ( Ml* PftOfiftM ) 


74 


33 < 


Wfli 


153 





1 login 


77 


33 4 


•l«l| 


154 





1 lOUlC:=cbrtl3lL 


71 


37 < 


IF IlLnKMEEliCt «* (th)ONU.) Tot* 


153 


7 


1 «l.Lt«dr(0M 


7? 


77 ! 


Itftl 


136 


12 


1 doofi'falw; 


•0 


77 ! 


9EPWT 


157 


17 




1] 


77 ! 


ftfIl,fj]t*«[QT^ 


I3i 


17 


t MILE not Idontl 00 


12 


Ill f 


^ ai««acc<i] 


139 


24 


2 login 


CI 


113 1 


> ftJRIL HWHWJfcl or Ulnl^Ul or ImHILINEJi 


14« 


24 


2 ottiagitlpagi'dtnOf 



68' Micro Journal 



21 



16) 33 


2 




gttpagtfepegMont); 








142 42 


2 




ottpagtirpagt 


doni i i 








163 51 


2 




outputtripltpagt; 








144 54 


2 


tnd; 










165 57 


1 


End, 


{ of tpagt ) 










tSC NtiK 




PSEC 


PS I IE LOCAL 


Slttt 


csec 


CS1ZE 


DEBUS 


OTPA& 




7 


59 8121 


n 


8 








) GEIC 




1 


60 


15 


2 








2 K711K 




: 


9S 3 


10 


3 








J f£TPA$E 




s 


248 138 


U 


4 








4 OUTPUT!* 




4 


412 1 

062 B270 


15 
64 


1 


11 
H 






165 Lints of tourct cod* coopiitd t»itti no errors fount* 



I 
2 
3 
4 
5 
6 
7 
9 
9 
10 
J] 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
26 
29 
30 
31 
32 
33 
3* 
35 
36 



08 
OD 
OS 
OD 
01 
OS 
01 
00 
OD 
00 
OD 
OD 
OD 
09 
OD 
OS 
01 
01 
08 
0[ 
08 
OD 
01 
00 
OD 
00 
OD 
OD 
OD 
OD 
00 
01 
00 
OD 
00 
00 



37-14784D 
38-J4795D 
3H4787D 
40-147970 
II 09 



42 
43 

44 
45 

46 
47 
48 
49 
5C 
51 
52 
53 
54 
55 
56 
57 



OD 

OD 
-10 



8 

9 
21 
2) 
24 
25 
27 
30 
3D 

a 

45 
IS 



ProgrM OTPA6E; 

tUOPACS it inspired ty Ktrntgan tnd Plavger t boob tit ltd 

( 'Softiure Took in Pascal . 

( It uiply tifcei a previously formatted tilt of text 

( and builds a nti hie of dual colum teit piOts. 

O ( This, particular prograt ttpetts to read i hit of tilt 

( formatted «itf) 54 cclufit ptr line it up to W )tnn 

< per page. Thil vtrlion outputs page Pincers, starting 

D ( iith the nuebtr at entered. It alio stupi tht foottr 

O ( lints fro* tbt text, i< there iff *ny> 

( Page niiooeri art instrtid on tht 6>d lint of tach pafr 

( 

( Typical coaoa/id lint: 

t 059:PatcaU (tourct destination K4PA6E :pagMtiooer 

( Jf cotpiltd into oojttt <odt: 

< 0S9:M0fAfiE (source >dtitinatioo e page .nueoet 

{ 

( 9y E.tf.feUiiger o« SepUober 15, 1992. 





CONST 

EttFUE ■ -If < 1*4 of filt iirktr 1 

ttftllC > I3i ( carriigt reUrn 1 

£«STR = Oj ( null] 



HAISIR » 132; ( nuitui string Itngth 1 
JMIL1NE ■ 56; ( laiuui te*t lint Itngth > 
PA6ELEU « 66) I laxiou* ttit paot It^th in lint* J 











o im 

character * -I, .127} { ASCII plus EJQflLE 1 

string « arrayU..*AlSTR] of character; 

paQt " arraytl..PA6ELiM»L.«ILI«l of characttr; 



VAX 

IPaQt,rpagt: pagt; I Itft and right tut page array* ) 

dont: boolean; 

D on: integer; ( nutfarr of pagot count tr 1 



FMTIOK KTCUar tt cnaractKle character; 

1 ( gttc — gtt ent character fro* standard input ) 

1 m 

\ cht char? 

i mi* 

2 IF (tofl thtn 
CieftOHlf 

ELSE IF <iotn) into 
llOin 

Rtadlnr 
etOEIJLlNE 
tnd 
ELSE 
login 
Rtad(ch); 
ci ^4 1 col $ 



56 B 

59 ft 

40 ft 

41 

42 

43 t 



•*C!"<| 

2 m, ( of e*U I 

1 

I ( gttpagtnuootr — fttt tM pagt ni*4tr (rot tbt parootter ) 
I < patit* to it ii SrSPMM fro* tht coMind hot. ) 

1 var 



64 


OD 


i: lfltt9tr; 


65 


-2D 


RCTUftN: cnar ( 


66 


-ID 


fitgfn 


67 


i 


RETU«N:>c^r{lClI.IN£ij 


49 


6 ; 


i:-0; 


6? 


9 ; 


tttili UyiparaiMO ) and <Jt7y> DO 


70 


32 3 


itrsuccdli 


71 


39 ; 


irsparaihl:<*ET(AN; 


72 


51 


I i:«lr 


73 


S3 ; 


If mparMfOJOHniKK Titn 


74 


47 : 


I C'tnpcfcnvtrtaMtrsPJrauM; 


75 


77 J 


pr)t«»; 


76 


SO 


! End; ( of fttpagtnuaocr ) 


77 


1 




78 





RftCTlQU 9fTLl*ivir si ttriogi iiisfit: inttgtr): booltan; 


79 





1 ( gttlim - gtl a lino of tut frot itanOard input ) 


90 


1 


Var 


HI 


09 


1 1: intt9Ki 


92 


^20 1 


ch: claracttri 


93 


-4D 


Itgin 


94 





I i:*l| 


85 


4 


! Rtptat 


96 


4 


! shh'gttctcH; 


87 


27 : 


1 i:»»ucc(il; 


99 


30 


1 Until (ch'EKOFILE) or Ich-MEMLfMEl or if«w«tift); 


89 


45 


1 IF cruEHOflLE thtn ( gont ont too far ) 


90 


52 : 


1 ic*prtdt$)| 


91 


55 


I s(U:=END$lR; (4*fk tnd of string) 


92 


49 


! gtt)int;Mch<>£NDfILE); 


93 


75 


I End; < of gttlint) 


94 







95 





1 PROCEOtPE OUTPUT 00U9LEPA9E; 


96 





( Taktfc t*o mputtttf text pagts and outputs both onto J 


97 





{ oot pagt ) 


98 





Var 


99 


00 


ijfltis inttgir; 


100 


-4D 


9t9in 


101 





! ii'h 


102 


4 


! Khilt i<=fA6CLE» Do 


103 


ii : 


1 login 


104 


ji 


I IF j*64 (HEN 


105 


18 


\ 9tgjn 


106 


18 


I orittr '|; 


107 


24 


1 FOR »s*i to ftnrLIKE-4 00 


108 


39 ' 


5 •rjttl' 'Jf 


109 


57 i 


I •ritiiPABE ',pn:4); 


110 


72 


I pn:=succ(pn) 


111 


74 


\ End 


112 


79 


1 ELSf 


1(3 


92 


1 9tgin 


114 


82 


\ IF ((Ipagth.llOCUDSTftj and (rpagtli,l](>90ST8>l or 


112 


129 


1 (UpaQtti.lMNDStR) iri lrpa?tIt.lK>€ltOSTRU or 


114 


177 < 


Ilipjgf^UOEXPSrt) and frpagtti,12<»SlR)i TUfc 


117 


229 


> ligtn 


118 


229 ! 


i witir a )| 


119 


234 « 


i o:*h 


120 


239 ! 


\ KKILE llpagth.olODlDSTX) and {hXMUTNE) Do 


121 


278 


i Btgm 


122 


278 i 


y unttiClHIpJtth.n}]); 


123 


309 i 


I Oi»svccfnl 


124 


311 i 


► £nd; 


125 


315 ! 


i IF nOMlllht Thtn 


126 


322 1 


» login 


127 


322 i 


; FW «:=n Tfl MtLlNE 9o 


128 


3W 


r irUtr '); 


121 


351 


\ w f 


130 


331 : 


» orittC ')* 


131 


J59 ' 




132 


399 ! 


\ if i<>3 ncn 


135 


SIS 


\ lagio 


131 


343 i 


k m«lf 


135 


347 


^ Mtilt (rp«t«ri t oK>aiOSTR) and ln<MIL)nt) 0o 


134 


403 


r iiio 


137 


103 


r •Tittlchrlrpaftti.n))!; 


139 


434 


r m»sttfcln) 


139 


434 


r End; 


140 


440 i 


I ad) 


141 


440 


5 W; 


142 


440 


\ i*4i 



22 



'68* Micro Journal 



143 


440 


3 iritfln; 


U4 


443 


\ l;-tuccU); 


145 


44* 


J End; 


H* 


44* 


I End; ( o< outputdoublepage ) 


147 







14? 





1 Proctdurt BfTPASEUir pg; page; vif do fit: frodurO; 


149 





1 t getpage - gets Vie page of ttit frot standard input ) 


150 





1 V«r 


151 


01 


1 i.n; integer; 


15? 


-40 


1 I; String* 


153 


-26613 


1 Begin 


154 





1 m Ml TO PAGELEN 00 


155 


17 


J bcqs rr 


156 


17 


J IF Jnotldoni!] and (|9t) ir>9 1 i. NAILIVEl } thtn 


157 


33 


1 begin 


156 


35 < 


*i'l; 


159 


37 < 


IF l«(nK)HEHClN€) and UtnlOENDSTRI then 


uo 


77 


) begin 


16J 


77 ! 


S REPEAt 


16? 


77 


5 pg(i,nl:ss(nl; 


163 


120 4 


I n;=succUI 


164 


122 t 


I UNTIL nCn}=N€KLI«EI or uin]=EHDSIR> or <i*WILIN£); 


165 


166 : 


tndj 


166 


168 i 


IF n<H«LI*E thtn 


167 


175 ! 


i pg[i,nh'ENDSTN 


169 


196 ! 


i ELSE 


169 


201 ! 


P|Ij,n-]J:=EKP5Tfi; 


170 


226 * 


1 tnd 


171 


226 < 


ELSE 


17? 


221 


< Btgin 


173 


229 


1 pg[i,|]:=EN0STR; 


174 


247 


• pg[i,2J:»EN0SIR; 


175 


266 


1 doni:«trur 


176 


2*7 


4 en*; 


177 


270 


J End} { of for ntit looo 1 


176 


264 


2 End; < of fetpage ) 


17? 







180 





I T Kiin progm > 


111 





! BiCin 


IB2 





I pnt*lj 


163 


6 


1 gttpagettnfteHpn); 


164 


12 


1 dont:»falm 


165 


17 


1 mi If not Stone) 90 


186 


24 


I Begin 


167 


24 


? getpifieO Page, done); 


168 


33 


? petpagelrpjge.doner; 


(69 


42 


Z outosttdwbltpagii 


190 


43 


! Dvdj 


m 


4B 


End. < o< UPAS? proorae ) 



PHOC HAKE 

N9PAK 



PSEC P5IIE LOCAi. STACr CSft CSUE B€W6 



30 14767 



10 



1 SETC 


1 


36 


1 


IS 


2 








2 CETFAttK 


I 


II 


3 


16 


3 








3 601 [ME 


3 


77 


4 


13 


4 








4 OI/TPUTTK) 


4 


450 


8 


15 


6 


32 





5 6ETFASE 


7 


286 


270 


13 


1 












10OO 


13073 


61 




32 





191 Lines of source code coepil«tf with no erroft found 



Progra* DPA6T: 

( 0PA6E it inspired by Urn; tan *nd Plaugtr » book tit ltd) 
{ SofUart ?ooU in Pascal'. } 

( It nip]» tales a previously fcrutted flit Of tttt ) 
{ md ouildt a ni* fflr of dual coluin tent page*. J 

( This particular progra* eipicts to read a filt of teit ) 
< forutttd Kith 54 colutns per hnt at Mp to 64 I met > 
( ptf pagt. Uii i version tot\ not itnp header or foottr 1 
{ lints oor does it priat pagt nniben. 1 

< 1 

< Typitil coteand lint: } 

< PivraU <iourct >deetinatior> Bpagi > 

{ or if toejilad into oatue rode: I 

{ Bttfo (mb/ci Welti eat ion > 

M I 

< It E.B.Ool lifer on Sep tetter 6. 1912. ) 



0OTST 



1 


OS 


: 


00 


3 


0D 


4 


00 


3 


0D 


6 


00 


7 


Oft 


6 


00 


9 


01 


10 


06 


1) 


01 


12 


08 


13 


08 


14 


Of 


IS 


01 


16 


08 


17 


Of 


IB 


08 


19 


88 



20 


0D 


EKOFILE = -1; < tnd of filt earker 1 


21 


00 


HEMLINE - 13; ( carraige return 1 


22 


0D 


EKDSTR * 0j < null } 


23 


09 


SPACE = 32; ( spate charade* 1 


24 


00 




25 


0? 


KAISTR = 132: ( mi tut string length ) 


26 


OD 


MXLltt * 56; i ttxieut tut hnt length } 


27 


00 


PASELEK = 66; t Mntut ttxt page length in lines ) 


19 


0D 




29 


00 TYRE 


30 


00 


character * -1.127; { ASCII plus EWF11E } 


31 


OD 


string ? arravC 1 . . HAZSTR] of character; 


32 


0D 


page = arrarCl..?A6EL0l,l..lV)XLINn of thartcter; 


33 


00 




34 


OD 


VAR 


35 


OD 


lpagt,rpage: page; < left a*d right feit page arrays 1 


36-147848 


done: boolean; 


37-14765D 




38-147650 


FUNCTION SETC(var c; cheraUtrh charatttr; 


39 


0C 1 


( getc — gtt ont characttr froe ttandard input 1 


40 


OD I 


m 


41 


0B 1 


cfu char; 


42 


-10 1 


mm 


43 


2 


IF ttofl then 


44 


8 3 


ci=EHDF!LE 


45 


9 3 


ELSE IF itolnl then 


46 


21 4 


Begin 


47 


21 4 


Rtadln; 


46 


24 4 


c:=Mm)NE 


49 


25 4 


End 


30 


27 4 


ELSE 


51 


30 4 


Begin 


52 


30 4 


fttadUH; 


53 


35 4 


rrsordictil; 


54 


45 4 


Efld; 


55 


45 2 


getc:*c; 


56 


53 2 


END; ( of getc ) 


57 


1 




56 


1 


FUtCriOft SCTLlNEUar s: string; WtUfi mttgerl: boo'ear 


5<? 


1 


( getlmt * git a lint ot teit froi «Undartf irput 7 


60 


1 


var 


61 


OD 1 


i: integer; 


62 


-28 1 


ch: character; 


63 


-4D 1 


tegin 


64 


2 


««lj 


65 


4 2 


Repeat 


66 


4 2 


iti1;-gttt(ch]j 


67 


27 3 


f rtfucrUl; 


66 


30 3 


Until tch*EK0fILEl or Uh=*£HI«Ei or (i^Mxtizt); 


6? 


45 2 


IF ch=CWFlU then ( gone ont too far 1 


70 


52 3 


i:*pr»dri); 


71 


55 2 


stik'DUKT*; itvl end of strin*> 


72 


66 2 


fttlint:*(ch<>€l0f]LEU 


73 


75 2 


End; ( of get lint! 


74 


1 




75 


1 


fWCHH/Rf 0VTPUT80V8li?A6£j 


76 


t 


{ Takes tw inputted tut pafec *nd outputs both onto ) 


77 


1 


( one pi|e 1 


78 


1 


Vv 


7? 


06 1 


i,n,u integer; 


80 


-66 I 


Begin 


Bl 


2 


it«l; 


82 


4 2 


HKHe i<«f#SO£K Do 


83 


It 3 


Begin 


64 


11 3 


IF ((IpageCi.noaiDSTRI and frptgeliJIOCNDSTR)) or 


85 


38 3 


HlpiotfijKllDSTRI and irpegeti,ll<>EN&STR)l or 


86 


106 J 


((IpageCi.llOERDSTR) and Irpagtti.lMMOSTRll THEN 


87 


157 4 


Begin 


IB 


157 4 


writtC *rj 


89 


165 4 


n:*l ? 


90 


167 4 


II1ILE tlpagetj.nlOEWSTRI end (IKMILIRE^ Oo 


11 


203 5 


Begin 


92 


203 5 


witetchr <lpagtJi,n])); 


13 


»4 5 


n;=succln) 


94 


236 5 


End) 


95 


240 4 


IF nCPMILINE Then 


16 


247 5 


Begin 


17 


247 5 


FOR i:** TO Mill* Do 


IB 


239 4 


■ritir "J; 


11 


W 5 


End; 



W Micro Joiimal 



23 



100 277 


4 *-JtfT '); 




loi m 






102 205 


4 at*!; 




103 297 


4 Khilr lrp*grCi,nJ<>E*OSTR 


and 1n<KAtLINE) 0© 


104 323 


S Big in 




105 373 


5 »ritfUt)r<rpjgfti,fll>)j 




106 354 


5 nresucctn) 




107 356 


2 End; 




LOB 360 


4 End; 




10? 360 


3 tmtiln; 




110 363 


3 it-succCi); 




111 366 


3 End! 




112 36? 


2 End; ( of cutputdMblcptQf ) 




113 






114 


1 frocidurt 6€TFAS£{var p^r p*g»; 


fir door: tool tin!; 


115 


J f ortpagc - ijrU on? pigt of t*M 


fro* ttudird input ) 


116 


1 Vir 




117 00 


1 i»fl: intiocr; 




U? «D 


1 t; Itr ifv«J; 




119 -2600 


1 Bioirt 




120 


2 f« u«l TO PA6EUK DO 




121 17 


3 facgi n 




\7i V 


I ]f <not(tfOAf>> Afltf (9ftJint(t T *AllIttli thtfl 


123 35 


4 U?in 




J24 35 


1 n:«l; 




J25 37 


1 IF U(nK>P€lfL]»f£) ind U(r 


lOEAOSTR) Id* 


126 77 


5 ttfjfl 




J27 77 ! 


1 REPEAT 




128 77 


5 H(i,fth»f(ft]; 




129 ]20 


i it*MCc(nl 




130 122 


6 WTJL <i{n]***ll*£l or 


ilnJsEKOSTRl or InMAlLlftO; 


13! 169 ! 


i fftdj 




112 168 


4 IF n<NftlllK thtn 




*33 175 ! 


i >Oli,nh'IMSTR 




134 196 


S ELSt 




135 201 


5 «li.e-Jh«€HOSTA; 




136 226 


1 end 




137 226 


1 ELSE 




13* m 


4 Bt9in 




[39 229 


1 P9fi<lh*E«0STR; 




140 247 


1 pgH,2J:»aiSlR; 




141 266 


1 do"«i s true 




14? 267 


4 Kd; 




143 270 


J End; { of for nut loop ) 




144 284 


Z Eftd; ( of 9ftp*9« > 




145 






146 


1 ( Kiln praqrm ) 




147 


BfQin 




MB 


t doniMiJir; 




HI 7 


HHILE nat(dontJ 00 




ISO 14 


2 Btgin 




151 14 ; 


f gftp*gt(lpig»*doni); 




152 23 


2 ottpi^rpagt.dan*); 




153 * 


outpatdoubirpaot; 




154 35 


I End; 




155 IS 


1 £ftd. ( of 0WC progra ) 




NX tM 


PSCC PSI2E LOCAL STACK CS£C 


csiie oc*ue 


O0M& 


8 40 J47» 11 9 





i sm 


1 56 1 15 2 





2 6ETU* 


2 77 4 U 3 





3 0UTM80 


3 370 8 15 5 


17 


4 6ETPA6E 


4 2*6 270 13 9 







121 15068 67 


17 



155 Um of io*c» coil e«fj]*d vith no frrort found 



TURBO 



I needed more memory. I hove on application 
which requires fast access to a data array- 64k 
Just lsn r t enough memory on My OS-9" level one 
system to keep everything going. Level one can't 
handle more than 64k. I had to have Instant access 
to the data which was now nearly 16k all by Itself, 
but 1 also wanted to use the system for other things 
while the application was running. Level two OS-9 
to be the only answer . 



I found an alternative. A conversation with 
Jerry Kopple at AAA Chicago Computer Center lead me 
to consider the Computer Excellence 256k DRAM board. 
My Elektra" CPU-8/9" board doesn't have a dynamic 
address translator. I cen # t directly address 256k 
even If I had level two. I didn't really need level 
two any way I Just needed to get to my data quickly. 
If I didn't need such quick access I could use a 
disk file. So what 1 really needed was nort more 
memory but a very fast disk. The answer Is a 
program which " looks" like a disk drive to OS-9 but 
with access that Is Just as fast as memory. There 
are some virtual disk programs around, but they also 
require a CPU board with resident OATs- 

The board from Computer Excellence solves the 
problem. As the very complete documentation states, 
the Computer Excellence 256k DRAM board Is built up 
on a double sided glass epoxy PC board with access 
to between one and four banks of dynamic address 
translators (DATs). It can accommodate severe? 
combinations of the currently available 41xx type 
dynamic RAMs Including the new 256k chips. With 32 
4164s the DATs control the placement of 64 4k pages. 
Any 16 of these blocks can be accessed at a 
particular time as part of the processor's 64k 
memory. Unfortunately a program which mokes the 
memory board look like a disk drive did not exist. 
I liked the board Itself though and took a chance 
that I would be able to write the virtual disk 
program. Before I went to OS-9 I had a SWTPc 6800" 
system. I have written 68xx assembler for five or 
six years now and expected the virtual disk program 
to be a good way to learn OS-9 calling conventions. 

The result Is the accompanying program. VDSK 
took some time to write but was not difficult. I 
had a disk driver program as an example and decided 
to make the program resemble a floppy. The OS-9 
RBFman Interface makes It possible to use not only 
all disk access system calls but I could even use 
the FORMAT program supplied with my floppy drivers 
for Initializing the virtual disk In memory. With 
800 extra disk sectors at my disposal I even have 
room for all of the system CMOS directory which 
normally resides on drive zero. The data file can 
be read about tOO times faster with the virtual disk 
than from a floppy. The system commands are not 
accelerated to the same extent because the loader 
computes a check sum for a load nodule which takes 
time- In general, data file access Is Instant and a 
print file can be read from the virtual disk to the 
printer without the slightest pause from a terminal 
running at 9600 baud at the same time. 

I think the program explains Itself. I would 
welcome comments and questions. These should be 
sent to me at the following address: 



E Groves 10207 Gillette Lenexa Kan. 66215 



* OS-9 Is a trademark of Mlcroware systems Oorp? 
Elektra ond OPU-8/9 are trademarks of AAA Chicago 
Co*t>uter Center; SWrPC 6800 Is a trademark of South 
West Technical Products Corp. 



* mwt Bis* srmnAro* for m cm/re eicellece icaky mars 



• Tnis proa/to utuUtH a diet orivt in iMerf. tain* th» 

• oatwd DAT of tfei Cotputtr Etcflltfltf 256k feoird, this virtuil 

• ditf umlitor providtt 800 Zit byt* ttcLort rim toctor kit 
t m?) to uif « i tuptf f *it din drivo. 



24 



'68' Micro Journal 



• Thii drwtr pragraa provide an IS* ItvoJ oet intorfact to 

• tht ftvdot Hock Flit Manjgtr (RIFFar) 4uc« loot* titctly JiU 

• * finflt udtd OVivt «itn MM ttctori o» it. Logical tKtor 

• retort art trintJattd dirtctly to ofcytical 256 bytt 'soccers' it 

• at pnyncal piqt in tht tittudod addftti tpact. 
i 

• Aattor: K 6ro««t of limWAtf - i atooor cooaaor of MAM 
t Cttorpnrot, IW07 SUitttt, Lontta, Kn. 6*215 

t 

• to install t*o VWK aVivtr it an OS-9 itvtl ofto mtoo 

• tbo following coaftaad itouooct oay no autft 

LOAD /n/VKK.OtJ Iff on* contaiotog tna VOSX 

proo/aa) * 

11HC VOSI ^$0 tht systM can 4tni it) 



FCtAAT W 



{fOflMT -ill rftfault tsa 50 truk 
Jo aoctor/track SS floppy dmt> 



If you rfltidi to tiki VDSK i ptrotflout pirt of your tyttta 
do thm 

COPT /WVDSK.DaJ /OO/V05K it. put • copy of VOSK 
on your tyttto disk* 

-pot j fortatttd dill in flriyt 01 * 



0S«€1 /Ol 
/QO/OS9B0OT 

/10/VOS* 
<otc> 



uu rtgulir boot ft It 
odd vl$* 
and of fill 



Tna disk in dnvn tl till not bava a boot tilt **ic* 
automatically load* WS« 



I I ft Jl 1 ft & I « « I 



EitcutiM of mi 4] It iccrjinq t*t rut^l di*fc nil 
itatt tht OAT in tf ilOr«n[Mll- start. Tin ic:t*alt:*tion 
rpvtf.it for tb< OAf «it »t titCuttd S&&1 gnng oft. 

DEVICE BCSCRJPTtt f» wo* 

Thfi it tht tnforaatton J9»Uo ntt*s to ?tt to tit Virtual 
dm wjtor 



VOiAfl FCS *V0* femt naat 
VOWft FCS -RfF" flit Mfljgtr not 
VODVi FCS •VKI' 9tuct drivtr nooo 
EttO 

«rO€W t*l • 
t 

* THIS (S THE EW OF THE MIW DISK OCVICE XSUflPTO 

* IHinMMIMHMMMIMlH 
t 

* THIS IS TIC MSlllftS OF T* OCVICE OttVflt 
t 

WW VD5I 

TTL Orticf drivtr for Virt« Oil* 

USE /DL;a£KTRA.OGTS/OStO€FS (ft ml to frfimtitts 
USE /Dt/EL£lTRAJ€F3/DW*nfOCFS.2 raArfua block deft 
E«DC 

WVCIT SET I only ont virtual drut rftfmtd 

• 

* MMMO , 4i ipicf ifljBlilOA I00II0O0 



• v:BJUH SIS' dtmt dticnptar 



Wfi DRVKS put in plact m static storigt 

m OWMDMCKT j tablt for «jch gf*»f 
CUfiTBl Rnl 2 ttblt to*btr for t^it aectfi 
Cl'R^RV m 1 tVht n#obtr for this iCClii 
V,rR€: 9M j f ttit DOJNFQ 
-DSrST EOU . total n* rtttrvtd 
* 

I «MM4t< ^30tHE ««0E9 ♦♦♦♦♦«♦ 

i 

Trrt $ET WrVR^QBJCT 
OV SET REfJTM 

WO OaEID.OSrWW.TYrT.REV.DSlIIT/.aSIST 

Fd Iff accon to public 
OSXliA FCS •«$«' 

FCI I rti n^ootr 

i 

• iranch taftlt 
t 

4 IIMMIMIMMH 

• E*W POTIT 
I 
SSKEiT L0P« IIVWC 

iwt vraw 

LKH VDSTIl 

LIRA VJSK65 

L8»fl VDSKfS 

LBRA VBSXTrl 



• ••••••••••• 



NAM VQ 

TTL Otvict flotenptor for •W 

1FPI 

EDC 

* 

t Virtual OiSf dtvict toA.li 

I 

TYPE S£T 0CV(C»OfJJCT 

REV XT mnu) 

NOI VOE^VOiM.ITrt.tt^WW.WflVI 

FCI If F ootft 

fCJ lOf 

ftt IfFFD dtvico tottrdllor tdoVoti 

FCI VCiUM-l 

FCJ Df StF lo^ico typo* IIP 
• 

4 dofitJt pttb optiofti 
• 

FCI drift nuttor 

FCJ ittf ratt na 

FCJ dtvico typo I'SViMVfloHr' 

FCI Odoooity •'Ofoflt'/llOfll 4 

FH SO I track* 

FCI 1 nso ndtt 

FCI I /to vtrify 

FIJI li toctori/track 

FM U wctori Oft track 

FCI I no intorltavt 

FCI T itctor/tlock 



t iHlTlALliATIOl 

I 

INVSSK PSHS I 

im Wm6,U pout to drivt taaJt 

1.01 KflVCtfT 

5H V.KORV.U fit ta< drivt* 

LDD 1800 

STO DD.T0Tt|,| 

Stl V.TRAK,! tot to hioh count 

Oil V.FKiiJ 

PULS i.PC go bow 
I 



input 



t REM SECTOR 

t 
» 
t 

♦ 
i 
i 
o 
t 



t*«5t of logical itctor i 
l«rt»t of factor nuooor 
t«patb tfMcriptor 
>»9lofial itoraoa 



Tit Virtual difl ift rial by caojutitg a 4k piet/track 
ta ttttnioo oooory Mf ill bit offiot into tno pagt for a 
25a byto 'toctor.* Tla catfutad paft io latpftl i"to tbt 
proo/aa i alOVMf ifKt at pto« loro. In tht cast t*sr* 
rart) that tht proo/ao't buf for htt on p«gt itro, p^ot 
ono 11000-UffJ .ill bt utoo*. 



V0SXR9 III! ,1 rtad itctor imtf 
BEO KPIDIC tpocial procming 

OOREM Kft ROSEC 
8CS RIM 



'60' Micro Journal 



2$ 



:lrb 

13* RTS 9a h<m 
a 

ROSEC ISR 6TA00* o*t pHtftrkl I oftstttstctr* 
BCIRW5 

PSHS €C,0,9ffI,r f U uvt MM-KH9 r*9< 
101 PTi.lUM pick up buffer jddrtti 
ElS l,D , 0* buffadr: |> stctor • 
«M WO tntrt H tht bufftr? 
ONE ROT.O buffer not in pagt 
IK 4,$ put vdnk w ptoe 1 
R1K.0 LOO 4,S rtcow track ivoptr 
LOT P0i9UF,Y gtt buffer atftfr 
iW V.PfflMJ gtt controller jddnts 
TFR A,OP I ziMded i rtf.: savt tttpaqt 
ORCC l»50 r>o jnttrrupts ■•tit pagt 9 gout 
$71 4,11 stap tn paftt itr«k> 

cms miimv a « nooo 

L9J . to gtt logical adtfr 
LSLA 
ISLA 
LSLA 

IEA1 :,I add addr to offset 
ROLP LM ,*♦ fr* stc OOOMFOO or lOXKMFQv 
STA ,Y* tc buffer 
fl£Cf transfer 254 bytes 
8&HRJ1P, 
TFR OP, A 

5TA A,U map piga back 
OH 24 
PW.SCCAUM.rAPC go hoot 

I I4MMM ♦ «♦♦♦#• 

ROIERO 9SP P&5«: 

K$Rjm 

PSHS M 

LPZ Pfl.BUF.T iraniftr volute info 
IXAV ORvBIM to dn*t tai.it 
LOB IOO.SU-1 
ROZEU IDA 0,1 
STA f,T 
9CCB 
8PI R02ERC 

clrb 

PH.S I.t^Pt goftow 
• ♦♦♦♦♦♦♦♦♦ 

6TAO0R 7STB 2 trtt sector totter* only 
J* ADCM 
PSH5I 

ANQCC lift cfr carry bit 

TFJ 1,0 . O-loflicat stctor (OOOO-OfOO) 

l$RA dwidt JoqicjI stctor I by 16 

ROM 

ROH ,S . put rttamdtr on stack 

LSRA 

MS 

m ,s 

IS«A 
R9R0 

m f s 

LSRA . A* 

RCRfl . Mr ilk I (0-31 » 
AW ,S . ,$*offstt i 16 
AWB Ht . pagts 0*0 in utt alrtady 
Tfl 0,1 . l«track I no* <£-SFJ 
PILS J , 5-offttt fleeter i )•) 
LSRI 
LSM 
LS« 
ISM 

£16 A J A*iKtorl (0-F) H 
«T5 

AKtt CM 
UN 1USCT 

mmm 

I 4M1TE SECTOR 
l 

• up ut - l*fl$l of loficil sector nnbtr 
t I^tst of logical ttctor i 
o r«pat* dticriotor 

• U«|lrtal itorap 



* Nritjng a sector it tht sw as rtading ctctpt Wat 

• truster h trot tht buf I tr to tht virtual disk stctor. 
♦ 

VOSKir 8SR STAOOA gtt pagt(trk) I offsttfsectr* 

BCS rtR6 

P$HS CC»0»DP,I,Y,U say* •orking rt?s 

LXl PO.Slff ,Y pick up bufftr addrtts 

US 1,0 . D* buffadr: U stctor I 

AMA «ro ,htrt i% tfct bufftr? 

ONE OK.O bufftr not in pagt 

1JC <,S put vtfifk on pagt J 
«.0 LOO 4,S rtcovtr track t (C-ST» 

LOV PO.HM ott bufftr addr 

LOU V.?0R7,U Mt controlltr addrfsi 

TFR A, OP 1 ntto'id 4 rtq.: savt tttpjgt 

ORCC 1150 no interrupts ■hilt pagt C goot 

STJ *,y siap m pagi (track* 

CLRO ooltiply A t 11000 

ISLA , to gtt logical addr 

LSLA 

LSLA 

ISLA 

LEAi 0»i add addr to offitt 
MTIP L3A ,U frot bufftr 

STA ,!• to stct 0000-OfOO or ICOO-IFOO 

0€C0 transfer 25A bytts 

BK UTl? 

mt PP.A 

STA 4,1) s«jp pagt bacJt 

CLR 2,S cirb 

PUIS LC,0,OP,I,r,U,PC go hott 

Hltllt ililtlt (I 
• 

i PUT/ SET STATUS 

* 

VOSTPS LOZ P0.R6S.Y point to piraatttri 

LOO fill, I ohat itatui aft m putting? 

CPtfl ISS.RST rtftori ? 

KdlOPffl 

cm ISS.tir wtiii (fortatJ ? 

ou nr» 

CVI ttt.FRZ (rmi W.INFO? 

0E0 FR£ZINF 

CM ISS.9PT stt Jtcton/track J 

KB N0P(R 
t 

♦ SET STATUS 
♦ 
YDSK6S COMB nono of ihovt or V0SY6S: trror 

L01 fEfUSVC gtt trrx coot 

RTS 
FREHRf LOB IsfT 

STB V.FRHrU 
HOPCR aRB na for thii drive 

RTS 

I TEMHNATE VIRTUAL DISK 
W5*TH CLRI 
RTS no action rtttdtd 

f MMtMMMMMMMMMMMI 

a EKS VIRTUAL BISK dtvict driver todtlt 
i 

ETO 
OSaEiB Eft) * 



SINGLE BOARD 
COMPUTERS-6809 



SlnOto Boor* CenDufers 
lis 5T-2W Updarfa Hep<ri 



Sard 

When we started the series of reviews of single board 
6809 computers, J realized that 1 would have to pcobabty 
do some up dates. That Is exactly what I wanted* 
Product updates- up grades^ I mprovements- better values, 
what ever you want to calf them, they alf staid to benef ff 
you, my readers. And that Is what this thing has been 



26 



'68' Micco ,toumaf 



all about I 

So, I am delighted to report to you any and aJI 
Improvements of these fine products- The newer 

feneration of micro-computers have nipped us here and 
here, but we have something that no other group of 
owner /users have: we can get to the 'guts' of the thing. 
Also, we can build It our self .If we so desire. Try to 
bulid an 606? system, I mean - COMPLETE. Right you are, 
you CANNOT I But, you can bulid a very powerful, complete 
6B09 computer, right here out of the pages of 6B MICJK) 
JOURNAL^. And these very same boards are part of that 
project. In addition there are tt>e bare boards and 
other hardware advertised, In our pages, that let you 
have the Greatest variety of micro-computer bulidlnq 
biocks offered anywhere to that special breed of 
I ndlvldual who stiff takes pride In, "I built It myself and 
SAVED money In the process." 

fn addition, you can buy some of the worlds best 
■ Icro-computers right here out of the pages of 66 MICRO 
JOURNAL. Then you can expand to your hearts content, 
with just whet you need, 'store bought' or 'roH your 
own'. No source anywhere offers you as muc ! 

Sardis ST-2900 Update 

We received a complete set of the new end 'Improved' 
documentation for tms system after our original review 
had gone to press. Still not "Heath' quality but 
completely sufficient, and much Improved. 

Mo dot-matrix printer typesetting. No penciled 
overstrikes. No errors I oouid find. All diagrams and 
charts simple and easy to understand, and professionally 
done. Above ail, simple instructions on adapting I/O 
direct addressing software such as STYLO", DYNACALCT, 
RMS'" and SCREDITOR II r. These are the only software 

fockages I can think of that need this special 
reatment. Once done they run the same as on any ot er 
6809 system. 

Below I will briefly outline the latest improvements: 

1. The monitor has been changed to accommodate serial 
ti and shaking- Also, the W memory examine and change 
routine has been expanded. 

2. The changes to the FLEX* conversion package has 
resulted in improved utilities, such as FORMAT and 
DSKSET. 

a. "FORMAT: This utility which replaces the TSC 
newdlsk routine has the following features: 

al. LOWER DENSITY - TSC format of 10 sectors per 
track single denslly and 16 sectors double density. Or 
the IBMC?) J740 9 single, 16 double density. 

a2. SWTPC FORMAT - this allows disks formatted with 
this option SWTPC compatibility. Therefore you have the 
choice of either the SwTPC or GIMIX formats In the event 
you swap programs on disk with other users- This has 
been a real hassle for some. 



3. 35-40-B0 track formatting now possible. 

4. Some utilities have been added: 

L0AD0 - this offset loads from disk to memory {but 
does not execute) a binary file. Offsetting is not 
necessary but then the TSC GET commend would do. 

PATCHES. OVR albws patching FLEX", which has been a 
bear at times for some who wish to Insert user code in 
front of the transfer address- FLEX normally stops 
loading when the transfer address Is encountered at 
load time. 

PRTSET - allows printer driver parameters to be 
changed - NC t nulls after C/R - NL, nulls after L/F - LM, 
left margin width - BR printer port baud rate. Also the 
source code for all printer drivers (3) is Included. 

SYSGEN - creates a FLEX system file that boots 
direct from the monitor. It albws PATCHES. 

BLIST - a LIST utility similar to the TSC version but 
it fllfs much more of memory with the cal ed text file, 
causing less wear and tear on the disk system. 

CHECKSUM - a utility that reports the checksum of 
any disk fib. 

DCHECK - a utility to albw checking visually on the 
CRT screen the rotational sp d of ail disk drives, afso 
measures the delay time from 'motor on' signal to tha 
Veedy' signal to the 1793 disk controller. 

DSKSET - improved version that allows complete 
parameters for practically any type disk system, 
including the newer Shugert SA300 3 1/2 inch types. 



0S9.CM0 - this utility aliows the user to call the 
Radio Shack version of OS-9" from FLEX. A prompt is 
Issued to insert your OS-9 disk. In about 30 seconds up 
pops the TAN Y OS-9 banner and you are In OS-9. 

Some portions have not been completed. Ours Is an 
evaluation sample. For Instance the cfock Is not 
Implemented yet, but will be probably by the time you read 
this. Also Sardis has licensed from D*Pv Johnson SO ISK 
end SFORMAT. These allow both CoCo end standard OS-9 
disk formats to run on the system. Considering trie 
price of TANDY OS-9 end Bas1e09 f this makes for quite a 
savings- While not spending a lot of time with this 
version of OS-9 (we have several OS-9 systems, ell larger, 
Including the GIMIX III) I found little to fault, even with 
a 'Beta' test version- Afso, because of the DUART used 
end the addressing space of the 1/0, in OS-9 tl«re Is 
available 63.75K of RAM available. No 'holes' In the middle 
of the address map. This should be one of the 'better* 
0S-9 level 1 systems, due to the memory albcatlon. 

Some enhancements being considered for the future 
are; booting from a 46 tpl disk In a 96 tpi drive. 
Expanded memory, and possibly a OAT configuration for 
extended memory applications. 

All In ail. as I said before, these Mttte 'jewels 1 ere 
great for those desiring a complete 64K FLEX system. 
And now OS-9 also. 

As the others pass ebng to us the updates, upgrades 
end Improvements of their systems, I will report them to 
you. 

DMW 



MICROKEY 4500 



MICROKEY 4500 

The Ukey 4300 Is en entirely different type of SBC. as 
compared to the others- First, It has normally 126K 
bytes of RAM. Secondly, It sports many different CPU 
devices -W65SC602, W65SC816 6502. 65CH2 and the 
6609E. Thirdly, It also has fl er-optlcs 1/0 as well as 
hardwire. Ana the coior high speed, high resolution 
graphics are superior to most any microcomputer now 
available!! In addition it cart fell Into the (1500 class 
as the others do. However, fuf*y loaded, It will exceed 
that price by a couple hundred dollars (special 
Introductory pnce - see advertising)- The normal price 
will be somewhat higher depending on USA distribution 
shipping cost. Import du + fes and all those other cost 
that qet added on in the norm I oourse of business. But 
even ~at twice the Introductory price It will still be a 
bargain! 

ANOTHER VIEW 

Beiow is a users comments of the Ukey 4500 as we 
received recently* Although we have a complete system 
inhouse, I thou grit you mfgnt like another view from an 
actual user, who has had somewhat more opportunity to 
evaluate the Ukey 4500 than we have so fer- 



Kt. 9am vi I JIM* It., 
C^twt-r 1S*11»M«* CiaKf, 
• 1 Jllcro J»u/«4i , 
4»0 CiiuMn With. 

».9. *** ••», 

LiMo. T« J7JO 



i; 0J4 Caarlaoc fc»M 
■»i.**.rtB. c. Th»*t 
KJ«41imi TWIT Ul 
Hi Had Hula 

T«i*f*wa«j- totiu mm 



i* i 



l**i 



UUiU ±VX ilMll JMrt Ca— >m»r - 

z ¥»• pImm* to •*■ t» •*•» BtcaMr ihw t**t y* aat. iMm i* «*• it* 
Htrtht? 4MB [• ***r il*t *t iltiLi t>«*rd IB1 lafmii. >*4 I taw ibi U«l. 
laaaai l* J.ll.trl** « H«l t* t** *• I ariia, X mm a tmmmtmr JmuIUi mm* 
inwliiiit cad a* tact T •*** aai a Kcittii f+r **alaatlaa lor aaaa mrt t< Q»a* 
■mai p>ti*i I ln« art taj aaralaa iiaiuU T , *** •MlatalaaJ * *l*l*ia* «it* 
p*t# bailcT. taa l«L|Hf ml taa »t*i4. mm la ay flMLafi aaJ *aU**t !•*• ■ It Hal 
I taa lay *»1t tula ta aria] aara ««a*rl*ac« ale* <aa c— * *r > tact u fWTt «al 
alia Mtiajtt raw*— aMar Flaa. taaa *ar«ai alia. 1 taraSl alaa atWa aaatlaa 
tkat t *tpm4" IViTI tafaai* taa *n« laaai 4nti*l »* It. »•* alaca tftaa I aava 
mm* M ataar 1 «■*««•.> h 7*» ta MM«(a# a*% ikrlllM I aai to lla* tn*t KUraaay 
tm firrmvt ■■ aall mm tlm. la* aa l\ rtataaaaia* taa aaat al all t*a«ltia 
aattlaaa. 

I »tll aaM «a aaailaa al a» fl«41n* •• tms m taa «*r*w>r * U .avaraa* a«aa« 
rJua u *4j tMt 1 htt laaai 1C aa«allait» aall tt*a»al *ai. rabaai aaJ rall^lv- 
•m I aaal* Ilia «* aaaa aoaa aaiata trim « aMf't T*tal aff alaa. 



68* MrctD Journal 



21 



7b* ayataa a-* I bm li li cot(l|ui«d far twu to ay Hlcfo Srl*aa ■■ Orim *«ra 
and ooa. aod ooa 4" S) track alagla-doaalt y *lagi*-*ld*4 drt«* j* grl«« 1. Tba 
laay drlwii *r* aagalllcaal. • v*ty Jaaa« capacity aad • vary f.*t data taia, tt"» 
]wat Jib* bavlaa a hard dtab aa )U«. bad tb* |" drlv. **Laa lr«At^irrt*i aoftwoT* 
fraa athar yi« .rata** »«f> »v*>i«. t h«*. two aoaltora. ft** Color and so* blarb 
aaa ablra. *o» two b*yb aida. al u* ay »*l*y-v!\aaJ sriataT keoUa la. I alao haw* 
«.e«Ba)(xaiioP w»tb d04| toaovrtr* ta tba bt>ua« via 15212. 

1 waa aaara «*ry **rly •• *>• tba ftraalan* •! r*-coa(lgur lag aoo* at a* ?laa 
aOtt**r> ta ru* oa ftlctokay bacawaa of tba mj ieft»ir# l tM Waa* ale and TXS 
Icaiy ta addr«at <** Motorola aCIA dlrattlf, *«»<* KKmWj win a vary aTTtrraul 
4r*t«a (art of Dava' ■ d«*lg* ybllooopby. ta* /«.*"* cbata ta ao Jlnl* *re*-l*laa 
Lot u»«t [/Q, hi tbat a»*i **Sa* arobiaa* ara aaaoclatad w* lb 1/0 Itaaa. and l»<* 
aaat *ta| a la Uv# daalgo waa ta dr»*lor A52);*4tI*«* UbrwPttlC <Pwwun ttat lata «* 
a atairiit Hay btarl $» orda* to aor* awtt tin 4VM) (or control rurpoaaa La 
lactory aaalraoaaat*, 

Tba aaclaloa wi aad. to ant aaly pro»14. tfca llbr«-**rlr taaabntty, bai ta 
aaa t« Motorola ACU'a aa rear aaa ca«ii« olfbov book u» tW (tbrr or Ju*t alia) la a 
a*?*r*T* taraiaal. or l»U. t bana t*« a ratal y»* board oe a« *lcro««> *i tbla 
aaaaat. aaa tt wib kHutklwUr- 

1 can tip all rtc'a >lm **|tv«r« v»t»g tha RJcrnkav a!***-, all t*« aaftwar* 
•bleb am Flo Mr all or tta caawau itlatta work* *Bty bayaiiy wllb tew calor 
ojoaltar ad lUcfokay'a larboard. For t*a difficult **»<«ot* I rlwm la «7 CT-*J. 
tyy* *♦€»*" oi Md^iT'i Uy»a*»d. Bad t *■ rwaoloa tt* )Ucrot«> ualm **. CT»*J 
aa a aayavata aCltWrl*** taialaal. 

tav* la saw goto* to "too*" tb* ADA aact lata lb* ar*taa, aad tba« ye* vll 1 
avt oY«a aa*D ta> anaj ia taa aapaiat* tarvtoal, )«a>t diract c t a nai tratloaa to t>» 
a£Aa aaa Kicroaay will baaava •• li F«v bad i.^ik! (a • aaaarata raralAal. to you 

oava taa rtet^a. Fliai ta a taralaal aaa mrcvUr *tl I <«art wltb It. Cfc»l«at taa 
caralaal aad Mcrabay wtll kaba«« aa If II had a tanalaal tm lt«a <a lar aa tba 
aa^tuara la coataraaa.. 



I* mb*b la aa aa ba tba baat o( all aoaalbla worlda. Ulthauz cafml"! 1 hut 
taatad aeai o( taa aa|ot aacb^^, all tba TIC VTU-ttlM. TIC Faacal. Aaab. Mil. 
Tt* a»»ia>, Sgrl^Haiia. 1 h*r* alaa ta ataaj U*t tdata faacal. Ll aa, prT'a »rlMU 
Olaaaaaaablar. aad <Jta B*adr«*h aaltVBra I tba NaCI aad It* (aUr aad Ft/>. All o( 
ta««« rat «1U Itttt* or aa ajod I* Icactaa. 

UltB tba CH2 *Lx4|ad la 1 hava t.»t*d "hoaealc. W9. aaateO* aqd Fataadad 
U«U tof TSC), aad Joha aatavd'i tCttfiifrjb Hi, All a/a wall docsaiaataa a* to 
ta>ca«illt*tlai (or a dtffaraac AClA *4dn»i <abUb ta eltii all that t» B *«4a4- Aa 
ra«dat* vllt baaat, aaay «»l tfcaaa Broftaaa coma atth c >b ( t t«rat 1 1» Hfian atttcb 
arwfti for all tba taralaal aatf kafboard ehaf acCarlatica- 

Tba oolj alicbt problaa t baA «ati ate* Or>atalc. Tbat aro*>raa ta aa tjar 
Triaadly tetat It bacaaiaa a paia ta taa aa<i to ra-c»a£tj»ra it. I toat tba M ay ^mt 
<n*t- 1 <«*l*d tba aaralaa t bad aada (ar tHa CT-ll to BUcrebar'a io*t 4fl*« aad 
cbao cbaattad tba caa bT**a at JOfldf Iraa JCFID (|Vt vaccar) ta inFOO (KlcroaaF 
vac; tot). 

Of COataa. la tba I laa avallabla. I caaaat el«ta u> bava aabataitlvaLr t«atad 
all u( tit* aofevara 1 h«v« llatad. but 1 b*p»a tt ruaatOd •ad I hava out taat 
arotraaa tbroufb all or tt. 

vary aaxly oa 1 brovj&l u» Talbak'a t B 9kTK» aa HlcfT>k»r- t will aat 
rac0*ja»aa any aoa-FOtftt uaara to trr tbla baca^a* It r#«!»Lraa a litila 
waaat ataod lad a( rObTl. *a surcaaaao (ar «y tVT e^aaatar. Talbot ta caalldatad (ar 
m« J" drlvaa aa aara aad oaa. aad taa •" drtvaa a« §*0 aad tbiaa* Ofealaualy tba 
ra^alalta fraraaatara b**« l* ba cba^caj la arda (91 It bo c9b*U< (raa tba Sooy 
Alaaa. lacoaaly, tba aeiaaa aUtaat at Talbot a«*ac ta SaVO ta taba caca a( tba 
aldbtb bit o( ASCII ctvaractar* I FDaltl u «aa tbat bit la oaaa llaiaa). aad «U era bay, 
<ltb ita (all ^alar aad ht»b raoalutloo b<a**lc*. p^trn* all attbt. bit* ta tba 
•crtt|< tb« d.fUltloa e( cba Mff ward "19." auat ba ra-^rt tr raa m •• ta kill cba 
alabta bit. aad tbaa U *uat ba pat* bad laao tba urvl. otbarviaa a dlctioaary «*<aaa 
wtll ba dtiflealt ta caad. Tba w>rd» wblcb aat u» aaa c U aai JU cata wttft a aarJAl 
lacar(aea <t-«tB TSKK C#SO aad CI5£L» *aaa ea b« r-^rtttaa la at*»f ta ba abla ba 
naa KlcMkay'a uaar aarLal Jr>tar<ac«, altb»a«b tba* a«at alua ba ratal*** la thair 
arlalaal (ara la ardar to «c<«aa tba Caw bCLb'a aa tba ccaaaaatcattaaa board. 

TA* *cr*ao ad C lor baa to ba rocaailtW«d ta at a* fa aala u*a of diiCacuat 
c«Btrwl kar» aa t** ka«baaad . altba>alb ta« (lb 11a* adlter. of <*ur*a. wtll work 
wttaoax aat cbaoiaa. Aad a law »rJalttv«a aad b|gb-ta*al warda *aad aa ba wrtttaa 
la araat tt ati Hiefobap'* Xo*> rout laa* (or cola* brawblao. Ft aal It tba *1CY* 
Bcraaa. aeraaa. *3, baa ta ba ■odlftaa |a drdat la lacarporata tba cbaaajwa* 

All tba (oruloiaaj i«, trlTlAl aad wary aaa* to do arawMad T»u >*M«r»taod 
fl4n*4Tm aad tba MatlcU-ar taata-aa talloa tw^ wt*b u Ha VC «, *ttetna*T- 4ti 
«aa*ataa. a ta *im Talbat **** ocaloat ^lyFCJifl l* tbat Talbat uaa* dtaba 
(araattaa ta Flaa boraat wbataaa aalTltaMl waa* a *jb1i« dtftaraat (ofuat. Talbat 
caa taad aad .a Ita flaa taac fllaa aa -alt aa iba aoraal nSTl Tlrc>a\t aamarr 
blacba. aad It caa waa dlaka partltloaad ta ba aaft virtual aad Nrt Flam. So tc 
ct* Wk. Ulaa of data oucamj tt<m «| at Oraacalc i«*a tbat data la *a artllcatlaa. 
aad ii«B aaad b*« data back lata i*at Itlaa. II I u wrltlaf about T^bTTt, tor 
laaeaaca, 1 taa taad a llarlaaj at POttl acraaaa ta • Flaa (11* ubara T*C'* r» caa 
IftOorFttfdt* it lata taa bad* at ar artlcla. 

1 b**a luat roaplttai a **aad« (lamtJadj aalai ta fWT" lo? Mtcrobay. It laa*a 
aad aata liba (loattaf aotat but la la (ace aaclraly tatagar aad acataa aacba. 
laclwdlaa ataa aad c«at«* roue L«m« ■ wblrb 1* yaad Hi B calaa gfaabjca facbaga 
ubtcb uaaa watt la i» aaletvat 1 oaa la ardor ta ttodoea mtatioaa. aadjaldc at io*a ■»■ 
Tba r alalia ara wary Tdbt aad t*tar a aai«*. raal-ttaa calor mUuiIoi aa NVcrabay'a 
Simc k«01. 

Tba aUcioba* auaaort *a*lroo***tt Caad la fraa UH at auaa«^ V p. taclfdaa • boat 
ar Aiabrouttaaa ublab tba latar caa call •* iaaaba aeraaa* baFbaaaTd aad arvtwa 
(wKlloaa. Tb**a ara aarttaalatly aaaT (ar TOdTa ta accaaa, iba aaar ba* aaly bo 
ouab aay raaulfad aaraaata ra aata Iba »t*<k aad tbaa aaaaata aa tad U act itb. 
MUroaay (uacctea ward* caa *ary *«atty b* wrtttOO to cba*aja to aad froa colo* aad 
b«*4, c"oa«a taat calar aad grapb-ica 0I00L color, draw 1 loo* 1*1*1*1 n coordtBatoa* 
slot eaifira ate. Cr*a*lc» baa taat caa ba (f aaly lataralaad Ow tba aeraaa aa caa 
taa color*, * tba uaar caa crura aoaa raally duallag diaalapa^ 

Aaatbar Caaxtloa. wblcb i ba*a tabtadl bwc aac raally uaad ta aa ajollcBtlba aa 
yai. aUI awttcb aadwara (rwa »m «JlM badk ta tba albar. Vary «a*(ul bacaiaia yoa 
caa wa* Lt aa a aart of "aaM Dllf la ocdar ta awltcb aa apaltcatlaa o**r Co eh* 
otbaS tab at aoa* aotat la It* ■aacatlao, laWaka aad aaaauta a a*C*aj| aotlUatlOa, 
aad tbaa awltcb back tba fLrat aad aaatlawa Ita aBacwtLavj- 

I b#*a baa* laoklag far aoaa tloa for • bultdbla *l«Jjla t.oaad gaOv wttb wblcb 
IO *wa0l***ot ay «g«ia« tvf baa. 1 Ka*a aow dacldadly (owad Itl ubat ta aaca. 1 aa 
fjutttag ay ooaay wbaro *» aoutb 1*. Tbl* lUcrokay la alaa. I h*v* tcaaafarrad. all 
■y wit 9 ita it. Cba WT kadVt b«» awttcbadj oa far tbraa aoacbd^ aad nieiabay ba* 
aarlermoi lattitlaaaly. Doa't ba aat off \t y*u at* bat • tail aaa, tbla Lb a nar* 
vary dood Flaa caaPwtar. good am a eoaayuiaf oad goad aa a dw»pto*o»dt 4a4 tootrol 
• yaraa. bat jwat a*U tba rc«T> capability a* wall aad it baa ta ba triad bo ba 
balSavad. 

riully. It yoa Hold llba llatlajt ar arbar dataU*. JadK **!■ bad aayaai 
os*. ta*r* wbo ba* a freblaa wlcb xbl* board. Juat wilta. I'd bo bbaoy to balpj. 



Taajra aj^aaraly. 



While the system is capable of running both the 6502 
and the 16 bit version the 65SC816 CPU. we will be 
devoting most of our attention to the 6809 aspects of 
the Ukey 4500. Therefore the following 6502-65SC816 
discussion Is far from a complete overview of their 
capabilities* However, the basic system remains the 
same, It is usually supplied (and priced) for each CPU or 
combination of CPUs* 

The 6502 runs both Forth-79 and Fig Forth. Built In 
editors and assemblers are part of both Forths. As a 
control language Forth is Ideal* In fact Forth was 
developed as a control language for one of the worlds 
largest telescopes. White the use of 'reverse Polish' has 
never quite agreed with me, I know many professional and 
hobby programmers who would use nothing but Forth. It 
Is an excellent language and Is probabfyone of the most 
easily expandable MLLs available today. 

The 16 bit version (65SC8.6) can address 512K RAM 
configured as two 256K banks. Clock speeds for the 
6809t and the 16 bit CPU are approximately twoMhz, but 
the 6502 runs at a slower clock speed. 

The color graphics running under Forth are so 
dazzling that words cannot describe theml The speed 
and resolution Is some of the best we have ever seen 
running on ANY microcomputer! 

The 809E Version 

The 6809E system runs FLEX**, Talbot's tFort*i+ and 
polyForth. Now talk about your color graphics speed and 
resolution, even betterH Also you can run all the other 
popular FLEX software with Ifttj© change (see Frank 
Date's comments above). 

The FLEX system also allows you to run all those ohher 
applications - business, accounting, 0Ef1 and software 
development, spread sheet, word processing, etc. - 
Including hion resolution, fast speed color graphics- 
Text and grapnfes mixed If desired. 

Of all the SBCs we have reviewed and tested todate, 
this Is the most complex, and therefore, this review 
cannot cover all of the advanced features avallabe on 
the Ukey 4500. However, below Is a brief overlook of the 
specs: 

DM all devices except the 6502, from expansion port. 

RAM - 128K, two 64K banks, expandable to 512< with 
W65SC816. 

REFRESH by video controller, RAM first cycle, CPU 
second. 

EPR0M - 32K, two 27T28, 16K, two 2764. EPROMs can be 
switched out completely or replaced by external plug-In 
EPROMs. 

SERIAL interfaces - TX f CTS,DCD DSR,DTR,RTS provided at 
RS232 port. Connector 25 pin D plug. 16 software 
programmable rate up to 19,200. Device Is a 6551 ACIA. 

PARALLEL Interfaces - two. standard TTL, 15 pin D 
plug* Device Is a 6522* 

KEYBOARD Interface - two IBM type keyboard interfaces 
provided. Connectors are 180 degree 5 pin DIN sockets. 

CASSETTE interface - Apple protocol only as of this 
date. 

EXPANSION port - All bus control, data and power 
signals ore provided on a 50 pin IDC plug. 

SCREEN 1 - video output Is composite monochrome (B/W), 
resolution Is 640X200 pixels, low resolution mode, 
1280X200 high resolution mode. Connector Is RCA type 
phono plug. 

TTL COLOR video - RGB at Til. levels plus separate Til. 
sync (H/V), connector 6 pin DIN plug. 8 colors available 
In color mode. In monochrome this output Is same a 
Screen 1. Same resolution as Screen 1 for tow level in 
color, high level is monochrome. 

ANALOG color - RGB at 1 volt peak analog levels, with 
composite TTL lewel sync. Connector 7 pin DIN plug. 16 
corors possible, resolution same as TTL color* 

DISK DRIVES - provisions and connectors for Sony type 
3.5 Inch drives, Epson 3.5 and any 5*25 inch orlve. 
Single and/or double density* Data rates of 125K, 250K 
and 500K bit/sec possible. A total of four drives may be 
on line and connected. Drive types may be mixed. 

AUTOMATIC 'boot 1 search all drives for system boot 
program, not restricted to drive 0. 

Expansion Port 

An expansion port has been provided to allow 
extended a* extra 1/0** see flber-op+lcs discussion **, 
memory or CPUs to be added to the Ukey system bus. DW 
Is allowed provided it IS NOT the 6502 CPU In control. 
The bus Is unbuffered, large numbers of external devices 
or bng runs of cable will require buffering. Even though 
the 6502 used Is the 3 Mhz version, much better timing 
margins are possible using the 68B09E, and other CPUs. 

External devices see the bus as a lOOpf toad with 
about lOOuA leakage current. For data lines the load Is 



68' Micro Journal 



I LSTTL and about lOOpf . 

The bus is capable of driving 30pf and 3 LSTTL loads. 
Coble lengths are critical. 

Mo Itor 

The monitor has most of the popular monitor 
functions. In addition there Is the command 'F r to run 
Forth, 'H* set high resolution graphics, r l* set inverse 
video. 'J 1 set monochrome with sofTware scroll. V demo 
Interlace video (useful for 0€M applications - 16 color 
with 640X364 pixel display), 'L' load RAM from 
communications port, W set color video ♦$' send memory 
content to serial port, f T' terminal mooe (enable system 
to act as a terminal and '2 r set color - a 2 digit hex 
number sets the follow Ino text or graphics to the 
specific color. If both digits are not equal then two 
different colors will be used. 

Documentation 

As with the other SBCs, the documentation Is not 
•Heath 1 quality. For the Ukey 4500 the documentation Is 
sufficient and cover both monochrome and color 
generation of both text and graphics. An especially 
nice feature Is that ail graphics and any text may be 
displayed at the same time. Because of the extensive 
use of Forth, Forth Is covered In extra detail. However, 
the user should be somewhat familiar with Forth to gain 
the full utilization of this system. 

Included in the documentation Is Info concerning the 
memory mapping schemes. In different modes. The one 
thing, missing (at least from our system) is the Inclusion 
of diagrams, parts layouts and parts list, all of which 
could be vital in event service Is required. 

Speaking of service. It should be a remote point for 
the system Is top qualify and has been completely tested 
and burned-ln prior to shloplng. Our Inspection of the 
system shows a tot of attention to even the small 
details* And it has been in production and use in 
Europe for some time, in various configurations. 

Optical-Fiber Interface 

There Is available a fiber-opt lcs Interface for OEM 
and control operations In Industrial environments. It 
consist of a small board thet Is driver from the serial 
port and eliminates the problems normally encounte ed in 
situations where long cables would have generated noise 

?roblems. (see Frank Dales review above) As noted above 
wo additional ACiA's become available for system use. 

Note should be made of those programs that address 
an ACIA directly. As with the Sardts system (reviewed 
earlier - and which this article Is being written, using 
Stylo which addresses direct to an ACIA). 

Conclusion 

After using the Ukey 4500 It becomes somewhat 
mundane to go oack to a B/W CRT display. You would be 
surprised as to how much time can be soent just ploying 
with the high resolution color graphics* Having all This 
much power and versatility readily at hand makes thinking 
up new things to do lots of fun as well as being useful 
end productive. 

If you order the complete system, you will find the 
quality of the keyboard (IBM type) and enclosure too 

?uallty and very professional. The addition of a CRT 
ermlnel, Color monitor or monochrome monitor makes a 
complete system r and at a price that Is practically 
unbeatable, for all the features Included. So either way, 
SBC or full system Is a bargain at these Intro prices- 
Price as of this writing: 

Full system, Including I2BK RAM, three drives (two 3.5 
Sony or Epson and 5.25 standard, keyboard and enclosure 
w/power supply: $1,699*00 

Fully burned- in and tested SBC - 12BK RAM, less cTlves, 
keyboard and enclosure: S450«00» 



LOCAL 



Please note that shipping and texeq 
For additional Information contact: 



ore extre. 



it Is a utility called "LOCAL" which uses the SwTPC 
Dynamic Address Translator (DAT) to store command 
files in your system's extra memory end links them 
Into FLEX*s User Command Table so that they are 
copied directly from memory when Invoked. System 
requirements are a DAT, 2K bytes of RAM from SE800 
to SEFFF and, of eourse, enough extra memory. 

The source of this program Is written In WHIMSICAL, 
which Is now available through '68* Micro Journal. 
We have found that a great advantage of WHIMSICAL Is 
the ability to break programs Into modules. These 
modules can be developed and compiled separately and 
over the last two years we have put together a 
I Jbrary of them. 

We have found that the WHIMSICAL language has been 
weJ I designed and has a very consistent and 
Intuatlve syntax (unlike many languages e.g. "C M ) 
thus making programs easy to write and just as easy 
to understand six months later. 

We hope that the enclosed program will demonstrate 
the e features as well as being as useful for you as 
It Is for us. 

By the way, since Ron Anderson's review of WHIMSICAL 
In the Sept. '63 Issue of '66* Micro Journal, REAL 
numbers (otherwi e known as floats) have been added 
to the compiler. 

Regards, 

(Mark Armstrong) 

Mark Armstrong 
12 Saltburn Road 
Takapuna 9 
Auck land 
NEW 2EALAND 
Ph: 49B-B43 



Z KiH Coootnd FU« fletsdt 'LOCALLY' ic RAM <Filt fILOCAU 17 J(ft 6< 
I Co«*)]td far Mln VE* 1.5:54 

t by n 6 ftrittronf 

I 12 SjIIW* *o*d, flilford 
Z JgckUnd *, *r# JtaLwd 

t SjrttM ftctujrtWAHt 

I II S«TK coHMtJbtt Ml 

Z 21 2* lyttt MM 4rm WOO to ICFFF 

t l*m**4 Smtu: 

I 4*«UEAU<«Uf fHOMfitt oj«c>JJC*<o|tiont>J 

Z Flit «#oct HtmU to 9ytt«i 4riw iiU 09 tittftfiM. 
I Optioot v$ C Cotiiofw too Hit Coooool l4»t» 
Z 1 Fro? it? «trt loforootitti oo Maori wuft 

I U IhfcBft Loctl fr rem IN* tm***4 ft* 1th 



" STIOMtftta)) 
* Q*151t«<l!009J 



KXSUVi 4,\C4L0rX, or * * *ostro»f' 



Ut STOCK ««ordin9 to feoorr End 
Dm WOOO-WfFF 4<r M!inj n tlockt 



MiOtOKEY Limlled 

9Sa> St. James Street 

Brighton. Sussex. England 

Tel D773-6729T1 



Mm MToiiosttftt' wee, 

CodUaioCodu StAfF, 

tiocrt6lrSttrtt-*C»0O k 

CirtTtblfCndti (Off, 

tro%ru\tot&K\] 

oroc teipiTofOt.'forojrdt 



OB* Micro .Journal 



29 



totfuli Error: code frot 'E4ERR0R'; 

lodtilr Parst= code froe 'E4MRSE'; 

todule Bloct= codt frot *E4BLQCr; 

■adult EiTtU code frot *E^JTBf; 

todule CidTbl«codt frot 'E4CtlDT6L" 

Moult Lcid= codt froi 't«lMC'; 



Z Error Handler 
1 Cottand lint Parser 
I WT Slock Control 
t Emutio* libit 
I Com" UMf 
1 Filt loader 



i begin 

Parst; 

cast ParitTytt of 

fctalA 

1: LoidFiie; 
CUTable; 
ErtcTafilt; 
2: H Catalog thtn 
begin 

CatCtdTable; 

Catalog: *false; 
end; 

if UnNoofc Local thtn 
ctgiti 

Etjt2(C*dTibItStart 1 M000I; 

MTjfilfStjrt:»ICCl2} 

EtiUlCtdTtbleStart, 100901; 

Etit?(E*ecIabIeSUrt, 10000 1 ; 

ProorttlD^ttOOO; 



P*rteTypt:»4; 
tod; 

Ji I 

tilt: Error ($83); 
tnd | 
tnd until P|rs*Type>*3; 
RestoreBlocK; 
if ParseType f thtn 
bijlf 
CloseCtdTaiblt; 
ii Ettrilnfo thtn 
btain 
tritt "rJTota] fllocki used: \ 
•rite ,A N*JFree Blocks retainer 
wrTU * > H*JToIjI 8ytr* Stortd: \ 
tnd; 
■nil 
tsta»eTo€flL; 



I Reset error Hi!} 

1 Ntit itet froi cottand 2 s nt 



1 Load flit iflto RAf and generate load tap 
1 Cnter filt nate into Cottand Tabic 
I Enter file data into Extcutiot Table 
1 Option! {handled by Parsel 



I Otstroy Cottand Table 

1 Stt variable to address* of UCT 

Z Unhook user Cottand Table 

1 Destroy Execution Table 

I tik? LOCAL rtiAitialSM 

I skip to tnd of progrit 

1 End of Cottand Imp 
I Invalid cottand lint 



Z Restore original OAT configuration 
Z Close the Cottand Table 



Total Ifctd; 
', frteltft; 
ToUI8ytf*j 



1 Ensure TTYEOL recognised 



■ritt 'Null fiit'; 
ritt 'Cottand Tablt ovtrflo*'; 
•Mtt 'Execution TaMt overflow'; 
•rite 'SYSTEM blocks have ctun^d'j 
wtte 'Invalid initialisation'; 
reporttrrorlErrjoi; 



m. 

*8A: 
189: 
♦tC: 
t;tt: 

•Ad) 

ras« ErrJte of 
bt>9io 

lS5}i8M8A:l9B:ieC: EscaptTtfQl; Progratl9:=f0000; STOP; 
tist: trite 'rJContsnut <Y/KI7 '; read Ansttr; 

if *jis.<tr»*V W ftfrittr£V OR AniMf'CHIKfQ?} thtt 
<EscaoeTo£0L; ProorajJB:sl0000; STOP); 
i end; 
tnd; 



MlTL^'Parst Cottand Lint' If lie E4MRSE* I HAV 6< 
I Adapted frot todule ty MNtfilCAL OtmOPfSilS 

todwie Parse- 
btgfh 



public 
BG0L 



SfVAUlNT 



Catalog, Z Trut if User Cottand Tablt Catalog revested 
Extralafo, 1 True if bloc* usage info requested 
Ifrftoottocitt I Trut if Local to bt unhooked 
ParseTypt; 1 I - Filt salification 

12- Options 

1 3 * End of Cottand 

Z 10 Cottand tint Srror 



CHAR ARRAY Kite t HI; 
proc £scaptTo£0M 
proc Pine; 
external 

proc Error tWE ErrNol; 
private 
CHAR ChllCClBJ, 

Alflha«'A 4 , NuiVO', 
Sm=' ', E0L-CNRLW0); 



I Escape to fnd of Line 

I firsts Cottand Liaii Rtturns Nate and Parielypt 



Z One character loo* afatad 



proc NtitChMittrnalUCI27l| 



nnti^Crror Handler' <Fiie EfERlW* 50 APR 

todule Error* 

btotn 

potJjc 

600L Err; 

proc CrrorlBYTE ErrNol; 
titerntl 

OB»TEProgratH>{»€FFEI| 

proc EscaotToEOl; 
pnvatt 

proc Error llfTf ErrMol* 

btgit 
CMAft Ansttr; 
if NOT Err thtn 
btfin 

! Err:*tritt; 
J *itt ,J, HN' ? 
! Ctft Errio of 
1 otiit 

: Wi 

! HI: 

f$2t 
I fHx 

: mi 

I W5j 
I «6t 
: «7i 



■rite 'Invalid drivt outbtr'i 
trite 'Invalid fiU oim'j 
•ritt 'Orivt specifisd ttict'; 
tritt 'Invalid cottand line'j 
■rite 'Uvalid otttws'j 
itritv 'Filt tofi't f Iff 
•rite 'lot a binary file'; 
tf-lte *Cto t transftr'i 



OMft proc Clus* 

befiA 
QM Flt»f0«JtCC02J; 

if Ch^'A 1 AM) (*<='!' OR Ch^'a 1 m £&<•'*' thtn C!ass:«Alpha tltt 
if CbVO' m Ch«'«' thtn Ctass:««ut tlst 
if th'* * OH Ch>',' tht» Clasii%Sip •!»• 
if Ch-€0t OR Ch<FltiEfX th«o Clasu^fA tlst 
Ctass:>Cb; 



proc fict^tTolOl* 



too it 

■hi it ClifiOtOl do MiitCM Z Eictpt to E0L 
tnd; 

proc Parte* 

* .^__ 

Nfit 

WWL ftflrtfound; 



1 



CKAt proc flJtrOt' 

begin 

•tTFUlCn«4<«CMfij 
if «JlCFla^*lW then 
itfin 

ii CItis»AJpha tntn DmCWASCKIhl AM IVI; 
tnd; 



1 Ubptr/Lotvr Cist Fl«aj 
I Nap loatr cast to upper 



30 



68' Micro Journal 



AAfj 



, trc< IstErC* 



I Tfut H flat ttpjrjt&r Jftd nat one o* !;at 



oiftt 

*tEAtf:'t:m >S«p AC Clm CDL; 
ttd; 



HQL ;rK totfiUCM 



1 Trut H CI it npt 4 '*Ii3 *ilfflitt dUTKtff 



iff. to 

*otf»)rCA;<UM<>AlphJ Ml ClmOM AID ClO'-' AW l*< 
tad} 



ttfit 

If Drittfound thtr IrroHliJ); 

■rutfoMdt-trutj 

If C1»>**0* AKO CIK-'S' tUtn Mitt<0h<i tltt ErrorndO); 

NtrtOt; 
tfldf 

proc PtrtftUtt" 



8AA1UIIT NmKMi:*?, ErtMi; 
«j«#tOh OK t SyiDr i vr«l SO) ; 

u CNtfitvft trsw 
ttitft 

rVt«0r!vOi 

if CIO*. 1 tM« Error (Iflh; 

NtitOi; 

if CUttCMJplu thtn ErroHlllJ; 

tnds 
PNttrCbj 

Hm(HiH«di):«Cki 

•tttChj FiltrOi; 

l*MMt:*U*tMi*]; 
fftd «t:l ActFiJtC* » iMffdr'10; 
**Mll»iMdi):« V; i«iiWi;*ajM^»I[ 
*iot(t*f«i1<> 'C'j I Sit otiiult ntOAiiot 
Ni«[llaffMi*n:tW| 
iiMtAiMfediOli^D 4 ; 
NutlttttMi ♦!)*-* '{ 

bifltn 
! HtitCh; 

: cim cuts of 

* Otojn 

I Mui; PiritDrutj 
; Mtht: filttrCh; 
do fctfja 

•ttt[MiiMi«£ilMi):0>; 

AtitCfc; filttrChj 

EitNdtsiCitMMli 
led uthl lotFTltCH tf Eitldt'3; 
(»tt(mt««4i*Ertftdi):'' '; 
If CA«V tin <A»ttCA; Pvitfrnvt); 
: Error HID; 



ftlt 



proc P«ritQpti" 
I 

b*gm 
NtitCl; I Slip *♦' to got ftrtt Option 
rfnlt lotCid to 
ti(it 
: C*M CD o< 

; •C # i'c*x CiUloft'traij 

■I'i'i'i Eitr«]nfot-tnit: 

■U*tVJ ftluoilJCihttritj 

ttiti (frvl$M)( 

1 ndi 



I AntC*; 

Mi) 

rfiilt CUt»"Stp do MitCft; I Slip ltidi*| ttpintari 

cut Clin o< 

tifji 

A] phi: It It J>*rit7rpi:"]j PtMtftttt; 
•♦•j PrMT^f«j-2t Porittptij 

£0Lt P*rjil T pi:-3; 

tlMJ PtrttTyttcHOf 



'TlTlis-fitntrjtr * tibJt of *K llocki of RAT <Fii* E4BL0K) 30 AW 64 



■odult lloclt 




fctftn 




public 




INTE6ER TotilUttd, 




frttttfti 




WE CqrrtntltocK«EFFO){ 


DIHE lloctAtfdrttilfEFF2r; 


IYTE AAMV llockdOOOOh 




|TT£ proc Ntitltock; 




proc Jtntortlloctii 




tittntti 




•0* Err i 




DlYTErYtgrMlOHCffE)f 




proc Error HUE Errlol; 




pfrtito 




•TO Mi; 


I BfOTtl pvrpei* ltd** 


NlfE SMptt(l00r0l{ 


1 Locttioa rttrt RAK st^ltd for tmUrci 


•ITE AfftAr 0ri|iML[ff], 


1 OrigiMl coififurttiot 


litgtHOrtf], 


I WT jm99 


AAHIFFFOJ, 


I NT 


llocklftfotfCEOO] 


t Arm d ilotl lifOTMtlOlr 




I III 7 tlloctttd to ^vnai 




I 6 *]]oc«tid to SYSTE1 




I S m»tit»d to LOCAL 




I 1 4Moc*Ud to vOlSlf 




I 3 




I 2 
1 1 




1 « IM prntfli 


Ma proc OrJoUltlltKii* 





Ugip 

iriE nit i 

for td»:««4 to U 4c 

iff" 
OriftiinUidi]i-li4|fCHdi)| X lood origiMl nU) ttMdjr^ BAT itifo 
If llocftlftfotOrifiMlttiiMOMl IU« AnfiMlllocU:*trM; 
Hock[»forOrifiHirili]):>Ml| I Allocate to SfSICT 

wdi 

Ml) 

proc Alitor til ocki« 

X 

iff It 

rm idi; 

for Mi:*t: TO If do 
logu 

l04|tIMj):*0ri|ln4!fUdf 

MTC«dOs«d>4|iitiiEM*); 

Md( 



•TO prot Atitlleck- 

Ifffin 

•VTT Mil 

thill UocMnfofAdilOlO] do 



68 1 Micro Journal 



31 



Oofift 

ttfi:««df«l01; 

if WiOOO tftta ErrortHSl; 
•nd; 

if WT Err thon 
k#o,Io 

»itllock:HUij 

|]ock!ifotK,)t*2]i 

]MflttOh-IMlJ 

MTtOh4k)ii 

ToUtlho«:-ToU]lfcod*lf 'rHUfCFroolefM; 



proc Findllock*' 



booia 
IfTE lEocl; 

for llockiMOO to m do 
if Itocklnfotllockl-fOO Urn 
0*9 1 ft 

ttagtI4]:-1]ocki 

MTHlullock; 

Sioplti-CORSDCim.ltocklt 

if SMOicCOnlltftt'Mlock) th«* Iiock!r;ftj!ft!ccl]:«l01j 



Roller illocH; 



1 Rtttort onjiniJ :onhfw-«t;oA 



tf f>o|no!QOiC!U m .4} thw 
btgia 

for i*i:«IOO to IFF dc llockfnfonidt ]:*I9C; 

friajcillloctt; 

Findllxki; 

C«rrontllock:>«tctllock; 

UociAddrmt-fOOOO; 

Proor<otl:«CI1 19941 ; 
0*1 o!u 
ooojn 

tf frigiutltocki tfton Error tfttl; 

H ItocUftfofCoiToMllocklOIIl Uon Error IIICI; 

]ooot{QJfC«rr*»tllock; 

DAT(«]t«ftrrontt)ock; 
mdt 

Frooitft:*0; 
for ldt:-SOO to IFF do if HoctlnfoCMthlOl then FrtoLfl:»frtoloft*J; 






*mLE-'tuiM locution T»blf {FILE E«HTK) I NAY N 



Mdult EiTll- 




btflil 




public 




MtTE 


EircAddr, 




ffrMdr; 


tMUGEtr 


Irtdtx; 


im «**» 


Currl)ockri27]; 


Mtn *m 


llockttdrtUU, 




LoiH64r[l27}\ 


IUBfJ *UH CoMtM271; 



1 



proc EoittttW REF Mdr; ITO ktll- 

btffn 

Moor>t«Jdrl!"fi4tj; 

**r:«<rttMlOOOI; 
rod; 

proc Eift7cp|lT£ 0£f **,; MrTT Ditll- 

Itfia 

EiitlMor, HlinE(P«ti)}j 
EiiUAddr, ICWEfDiltlJ; 
•oil 

proc TotttCAd- 

•0910 

tfiilt QnorrtEitcAddr]* 110 Mfl 

Mooor T rEitcM0rflOOOn<IEF MO 
ltMorr(Ei#<Addr«IOOO?]-IM 00 
login 
EirtAddrffiK Mir +1000*; 1 Skip tonttinU otc 
M %oory[Eioc»dO>]«l7E thn £itc*d>:«€*odWdr*fOfaj; I tkip iftr iddr 



ondj 

proc EtocTioli* 

boo to 
IYTE toollock; 
JlTEKf Hdij 

if >e r Crr thM 

ktifii 

■full Hdi<«]ndfj do 
ttgtn 

HlfllockjrM; 

if Lc*4*«dr!*x 1)19000 tktn A*pllock;-fOr 

EltMEiicOOdr, tllk; 

EaitZrfttcAtor, S£f00)j 

EoUtEiocAOdr, rjtjltoctl; 

EoittCiociddr, CirrlJork[»di]l; 

Eoit2<Eioc*ddf , lloct«4drCNdi]l| 

Eii*2<E»fcWdr, loitfUdr[«!i]|; 

Coit2(Eiic«ddr, »€llCe^t(HilM; 

idi;««d»*li 
ond; 

EltKEtocAdfr, j7?i; 
Eoit2(£ioc»ddr r IforAddrl; 
CurrlloctfOlMCurrllockllndtxJi 
HockMdrtO){>l]ocMddrthdtt]^fCUCMntUndoiJl; 
Curr out 81 oc kr "Cur rlloc4 tOlj 
llock*Wri«:t|iockW^tO}i 
CoonttOlitOi 
lndu:*0; 
if EucWdr>«Ei«Tjblf«N< tkm Error 4S0Aij 

ond 1 

CiocNi>:-bocTalItStJrt; 

CorrlloctIOJ:»Cofrontl]ock; 
llockMd'COh'llockAddrmi 
TtbioEi*; 



proc EiittNYTE «F H**\ IYTI lotus 
proc Eiit2(NTTE REF Mtfr; IITTE »*ti>| 
proc EiocT«0]t; 

OttOTM! 

0OL Err; 

UTTC EttOabtoStirt, 

DrcTiOliEnd; 
•HT Corrmtltocrlimoit 

OtnE |]ockA*Jrru<StFF2l; 

im«uy iiocinoooo); 

DM* MtMr lioolUl; 

proc Error IIVTE CrrOkoli 
oriTitt 

IYTE AMU toorrdOOOOl; 



MJUl-'Fili Lwdff* (Fill E4LMII n «ffi 04 



■oduJt Lwd- 

oto> 

pooltc 

LAMtTr«T ToUllyltt; 

proc LoHfilo; 
rstfrn*] 

MXR. Ertj 

BtYTE lforMdrs 

WTEBCT Indoi; 



I fotit irtti ooitttd 



I Error flig 

1 ?r*iifor oMrm 

1 Lo«d lifo if4%% 



o\m *mi ■oMtuii 



1 r 1 if mm 



32 



'68* Micro Journal 



IYTE MMr llOCktfQOOOl, 1 tat a toidftf into ftlctk 
Orilocktmii 1 Currtnt block 

OWE MMT |]ockAddrCI273, 1 Hock iddr.u 
Loid«*rU27J; 1 Load 4ddnis 

}*TE6Eft »MAT CototM77]; 1 lytff count 



■roc ErrordriE Err*»| 
IYTI PCOC fcitllocl; 
pn*att 

proc UWFilt* 



I tfror Jurrdlffr 

I fljft i« ittt Irtf block 



\ if WT IforAddrFound ttitn Error (H?|; 
! U Cou*t(lndff#]*0 tht* 
t login 

if tfldtitO Mffn ErfonlW) fltff In:nj = Indt» 1; 
♦ tad; 
tal; 
fndf 



X — 



•TIE Htidtr, Cat, Oiti; 
NOL HotFjritRfcord, HtrlflftrFoufldj 
86YTE LAddr, •^drr-lixtAddMOk 
IfTt FILE litfjlt; 

•001 proc linM»idtr» 

begin 

liiMf*dtr:»fMMdK»l02 OR Ht4dffr*Jlo 0* *t*dffr=l00l; 



t Indti if 0, CurrllocKOl it currtot block, 

1 Bloc4Mdr [0] n rmt frtt bytt «rsttiir> currmt Lloc^ t 

: Couotcor) if o. 

trip to trror fro* oon ItnFilt it M^ti; 

if NOT Err tnift trip to Error froo 

btfitn 

! rtid froi linFilf Hffidffr; 

J if mi linHMd* toon Error(«il; 

: At If lnHffffdr MO «T EOT (lipFi:tl Oi0 iOT Err d« 

J btfifi 

; if Kw#>«lli thffr 



tfflii 

rffid froa tinfilt htrAddr; 
I ItcAMr Fount: *tm; 

fftd ffltff 

if Mtad«r*l02 Vm 
Iff lis 

: road fraa HtPllff LoiiMdrlltdtiffl), (at; 
: if UotFiricStcOrd «& Court: litdffil >• tbon 

r bcift 

; if ltodr<XoriMdr[Jn*n*]| tbffft 
btgifi 

]ndtii>Udn«]| 
: C«rrllocUt«ffi]t»€urr!lork[[ndffa-ll; 

llorkMdrUndttlr'tAddr; 
] UWdfjtUuiAMrtlniixJ; 

CountllndnJuO} 
I «d; 
S #H fftii 
! bfiin 

I lAMrt4jilMdrMndti«|]; 

S UM4iddrnNdKh<Mdr; 

IgtFtritlbcorii'truo; 



rotillrtw:«TetffllrtM*EITGO(DCCtRH«t»€{W l Cnt))1* t 
umilt Crjt>f«C iiiwr Err «o 
iijii 
r»id Irou ImFilt feW; Cut:*C»M0L; 
lltxkti*4*]:-tiU; 
Couit[]ff4tx1t<otft[r»d«>JHt 
IMOf«lddr4ff00lf U¥<r:«Uu1dr*fOQOl} 
H Nddr-11006 tut* 
bufift 

lt4u:«lf*i*lr 

fcrrllockUii4ti]t»teittIocfcJ 

MMrT«M006; 

llvcU^tlfttah'ftAiW; 

UMMddr[]odft]:-UMrt 

Cw»M!nd*i):'0{ 

Kldi 



VllLf-'kiJ* CoM*r: Tit !r a If tli E*£MTIl JO AM 6* 

■odulff CodTbl* 

btgin 

pid)ltc 

proc CitCodTttU; 

proc CodTiblff; 

proc CloEiUdTablo; 
titffrnal 

HOL Err; 

Wll CudTibUStart, 

CadTrtitEnd, 
EmAddr; 

DMA ARM? KiifftHl; 

proc ErrordVTE Errio); 

proc EiitLOOTE RtF M} IYTI Ditii; 

•foe EiittfMYTE RCFflddr; IHTE Oltil; 
K"*tf 

OWE LocTifl]ffT=Codfibtt5t*rt, 
tJwrCtdTioltrttt]?); 

DiM «m-»v MttoryUOOOOl; 

proc TrtlffEorf* 



il W7 EOFflifiFilff) thtA rtid fro* ImFilt Ktadtr; 
J Pidi 



btgio 
if IKorCitfTaoIf>90000 tbto 
bit in 

lH#rC*dT*blti*locTiblff; 
•nd fflti 
Mh 

if Cff^TjBlffStirtOUffffCidliiif th«i CtdTibl«£^d:**FFfF; I UCT not LOCAL t 

CtdTffAlfStirt:«OMrCtdTiblff; 

LocUllfft'CudTiOlfSUrt; 

«Mlf KffOorytLocTibltlOC^dOO) do 

btfift 

I rfiKff PlffiorylLocTiblfflOCKSdOO) dxi 1 Shp "«• 

! bf^in 

! LocTjblt:«LocTibl •♦10001; 

S *nd; 

! locTiblfft*Lo;T to! ftlOOOJ; 1 Skip iddrvtt 

ffftd; 
tnd; 
ttid; 

proc CltCldTiblta 
j 

NTTEidi:<otfTibkt5tirt; 

vitff '*rJFtlC5 IN \fSLl COHANS TAH£^ A i'; 

•^itff *it LocTibiff do 

otgin 

: iritff •***:•; 

: ollilff HffMrytHdilOOIlHOO) do t vitff niffff 
i Nll« 

: »rrtt HtwryiidiJ; 
MH*ditf0COl; 

: H*:««df*l0O03; t Skip adOfii 
•ad; 

ffAdj 

proc CodTitlf* 
••fin 

tm idiMi; ; 



'68' Micro Journal 



33 



H MOT Err tfetn 
bf|Jn 

mhilt U»i*til V do 
ftfffo 

EtitdocTitU, ASCtlUotUdiDti 

Ads:>td>*IOJ; 
tnd; 

EntllocTiMt. WO) j 
Ent2<LocTinlo, EticAJdr); 
H LocT*6U>CflT44t«frtf tH* ErroMtf*); 

pfoc C1ottt*d?4t!f* 

If l!nrC*dTtfltOI000© tfclfl EtitlLocTrtlt, S00l{ 
tnd; 

UoloCnd} 



Z 



< ProcttiVt to Copy a Proo/*i Into Him Nttory (Fjlt E<CVY.ASfl) 1 MAT B4 



« by » € ArKtrong 






one lEroo 


Irti EN tWi ifwy 


« EiK^hoA Tj»]« Utould »« wt up <v follows: 


• i» Er 00 


i 




» FCI FUpllxkftdi 


Indti o* block cud to W i* CarrBlock 


♦ Ft! Currllock 


floe* coRUinmq th« prog* 41 


» FBI Blockiddr 


St<rt jddrtst of |rogm «;tin CafrBloc* 


i Fll Lc*«4r 


Stirt Iwi idt>#t$ o* proQ/«i in iiin ottor? 


i FDl Cotnt 




Thf nuibtf o* Ijrln to lood 


♦ . 




■Off it iOOTf ttquvficf it rieurtd 


t JHF IVtrlddr 


Jul? to trmfOr tddrtit 


iMOf 


EBU «FW 


liir ildrm o< WT itige 


OAT 


ECU IFFFO 


Bom tddrttt of DAT 


COP? 


hus 1 


Poll roturo idem ir'c W 




LEAI 8 t y 


Skip thf c©fl*Unti 




PSKS f 


Puih ntn rtturn iddrfSS 




101 IfMfl* 


POlM ai to PAT )ijf* 




LdA 0, T 


Loid fUpllockW. inte (A) 




101 A.I 


loid rM9v(H^BlKkHdil into fl) 




PSMS D 


&4vt indti ind Of ifir.ii lloek Or lUck 




LDB 1,1 


6ft CorrBlock 




sn a>j 


]Mg»[*icB1ock»Jth-CarrSlock 




LD1 HAT 


NnbMioctltfi hi CurrBtock 




ST1 Ail 


CurrBtock (ton rotitfont »o JUpBlock 




ASlft 


tolcilitt bit* oddrns of Curr flock 




•SLA 






ASIA 






ASM 






aw 






A0» 2,1 


ADUIuttBloclAddr ( -MS€{C4ir rllock) *Block Addr 




TFiP.U 


lr»%iw AbtolutoUocUkddr to (U> 




111 M 


lot lolflttdr 




iivm 


Sot Count 


B*rj 


LM P,U* 


Bo LcmJ &*u 




STB t l* 


Stort bti 




l£A? -I.Y 


Aocrooont Count 




m corn 


tetil CowttOj 




LBl llMBff 


Poiet (I) to OAT i«4|p 




PU.S 


Aocorff litdti *4 origin! tlock 




sn a* i 


Uij# Mjptlock lids 1: "Or igintl Block 




LBI llAT 


|AT(Fl4pB1oct*dih*fr}gi*»2Block 




sri a,i 






ITS 


fUturn 



FROM TSC BASIC 

TO MICROSOFT BASIC 



by E. M. (Bud) Pass* Ph.D. 
Computer Systems Consultants, inc. 
\U$U Latta Lane, Conyers, GA 30207 
Telephone Number ^-^83- 1 717M570 



INTRODUCTION 

The TSC BASIC Interpreters for FLEX and 
UNIflEX are generally excellent 
implementations of BASIC for the earlier 
6800 systems under FLEX and current 6809 
systems under FLEX and UNIFLEX. A large 
amount of business, educational, 
recreational, technical and system 
software has been developed using those 
With the advent of the 
TRS-80 Color Computer, the 
Computer, and other newer 
systems supporting Microsoft and simitar 
BASIC implementations, many developers 
have been and are converting these TSC 
BASIC programs to Microsoft BASIC 
impl ementat ions. 



i nterpreters . 
Radio Shack 
IBM Personal 



The purpose of this article is to discuss 
the differences between TSC BASIC and 
Microsoft BASIC, and how they affect the 
conversion from the former to certain 
implementations of the latter. 



MICROSOFT BASIC 



Microsoft BASIC implementa 
performed on a large numbe 
unlike TSC BASIC, wh i 
implemented on a rather I 
Microsoft offers both BAS 
and compilers, with the 
size, speed, and security 
while still maintaining 
Development of an int 
offers only interpre 
Pre-Compiler is not a comp 
is a tokenized interpreter. 



tions have been 
r of systems, 
ch has been 
imited number. 
IC interpreters 
advantages of 
of a compi ler , 
the ease of 
erpreter. TSC 
ters; their 
i ler but rather 



t nMiriitiMniiiinttiinuaioiiiiinniiHunuaiTr.ktnuns 



Unfortunately, not all of Microsoft's (or 
TSC's) implementations are the same, so 
some attention must be given to the 
differences among the implementations of 
interest. The implementations discussed 
here are for the Color Computer and for 
the IBM Personal Computer, being fairly 
recent and complete implementations, with 



34 



'66' Micro Journal 



extensions in similar areas for 
supporting color graphics and sound 
effects. Other implementations are 
generally similar in the core language, 
but differ in the extensions. Developers 
aware of the similarities and differences 
among the implementations can use the 
similarities to their advantage while 
minimizing the impact of the 
di f ferences. 



DIFFERENCES AND SIMILARITIES 

This section provides a discussion of the 
primary points of difference and 
similarity between the TSC BASICs and the 
Microsoft BASICs. Note that the 
graphics, sound, and certain and other 
extended functions, such as cassette I/O, 
of some of the major Microsoft BASICs are 
not covered here since the thrust of this 
discussion is the translation of TSC 
BASIC programs to Microsoft BASIC, and 
TSC BASIC does not support graphics, 
sound, or the extended functions. 

For the purpose of this discussion, the 
following mnemonics will be used as 
shorthand notation for the indicated 
implementations: 

TSC any TSC Extended BASIC (here) 

XBASIC TSC Extended BASIC Interpreter 

XPC TSC Extended BASIC Pre-Compi ler 

Microsoft any Microsoft BASIC (here) 

PC IBM PC BASIC 

COLOR Radio Shack Extended BASIC 

Naming Conventions 

XBASIC supports a one or two character 
variable name, starting with a letter, 
and optionally followed by a letter or 
digit. It requires every statement to be 
labelled with a numeric integer in the 
range from 1 to 327&7. 

XPC supports a variable name of length 
one to 255 characters, starting with a 
letter, and composed of letters, digits, 
and underlines. It does not require 
every statement to be labelled, allowing 
only those statements which are the 
targets of GOTO, GOSUBt ERL V etc. to be 
labelled, and allows labels to be numeric 
integers or to follow the same rules as 
do variable names; a label must start in 
the first column. 



TSC allows a variable name to be followed 
by '$' or '%', denoting that the variable 
represents a string or integer, 
respectively, rather than a floating 
point number. The optional suffix 
character is considered a part of the 
name. 

COLOR supports a variable name of 
effectively any length, starting with a 
letter, and optionally followed by a 
letters and digits; however, only the 
first two characters are significant. It 
requires every statement to be labelled 
with a numeric integer in the range from 
1 to 32767. It allows a variable name to 
be followed by '$', denoting that the 
variable represents a string, rather than 
a floating point number. The optional 
suffix character is considered a part of 
the name, although it is exempt from the 
two-character rule. 

PC supports a variable name of 
effectively any length, starting with a 
letter, and optionally followed by a 
letters, digits, and periods; however, 
only the first hO characters are 
significant. It requires every statement 
to be labelled with a numeric integer in 
the range from to 65529. PC allows a 
variable name to be followed by '$', '%' , 
r ! ' «, or '#', explicitly denoting that the 
variable represents a string, integer, 
short floating point number, or long 
floating point number, respectively, 
rather than either a short floating point 
number or the default declaration type 
implied by a OEFtype statement. The 
optional suffix character is considered a 
part of the name, although it is exempt 
from the kO character rule. It also 
allows a numeric constant to be followed 
by '!' or contain the exponential form 
'E' to force its representation as a 
short floating point number, or to be 
followed by '#' or contain the 
exponential form 'D' to force its 
representation as a long floating point 
number . 

None of the BASICs discussed here 
distinguish between upper and lower case 
in variable, verb, or function names. 

All of the BASICs discussed here allow 
variables to be subscripted, with one or 
two dimensions, through the use of the 
DIM statement. TSC extends this concept 



'66' Wc»o Joumft) 



with virtual arrays* which are actually 
random disk files, rather than tables in 
memory. All of them automatically clear 
numeric variables to zero and string 
variables to null. This includes 
subscripted variables, but not virtual 
arrays. 

The diversity of legal names for XPC may 
cause compatibility problems when 
converting to Microsoft because of the 
possibility of using names which are 
proper in XPC, but are reserved words in 
the target Microsoft implementation. 
Usually, this will produce syntax errors, 
but sometimes will cause other problems, 
such as accidentally changing the system 
date or time, as will storing into DATES 
or TIMES on PC. A good defense against 
this problem involves reviewing a sorted 
cross reference listing of the XPC 
program versus a list of the reserved 
words for the target language, and 
modifying the offending variable names. 

Another problem caused by the differences 
among the naming conventions concerns the 
possibility that two unique XPC variables 
may be interpreted ambiguously as one 
variable in either COLOR or PC. While it 
is unlikely that two XPC variables would 
be the same for the first 40 characters, 
but different thereafter, causing a 
problem under PC, it is quite possible 
that two XPC variables would be the same 
for the first two characters, but 
different thereafter, causing a problem 
under COLOR. Again, the best defense 
involves reviewing a sorted cross 
reference listing of the XPC program for 
ambiguous names. 

String and Numeric Representation 

TSC supports strings of length zero to 
32767 bytes and the following numeric 
representations: 
integer 

-32768 to +32767 
2 bytes 
floating point 

17 digi ts 
8 bytes 

COLOR supports strings of length zero to 
255 bytes and the following numeric 
representations: 
i nteger 

-32768 to +32767 
2 bytes 
f loat ing point 



7 digi ts 

5 bytes 

Note that the number of digits of 
precision provided by COLOR is only 
seven, and this tiay be insufficient for 
the purposes of the program. For 
instance, accounting programs on COLOR 
will be unable to exactly compute amounts 
greater than 99999.99 in magnitude using 
the floating point arithmetic provided, 
assuming two decimal places are required 
for dollars and cents representation. 

PC supports strings of length 2ero to 255 
bytes and the following numeric 
representations: 
i nteger 

-32768 to +32767 
2 bytes 
short f loat i ng point 

6 di gi ts 
4 bytes 

long f loat i ng poi nt 
17 digits 

8 bytes 

Since the PC default for short floating 
point provides only six digits of 
precision, compounding the accuracy 
problem discussed for COLOR, the 
following statement should normally be 
inserted in each program being converted 
from TSC to PC: 
DEFDBL A-Z 
before any other statements or 
declarations to cause the default 
declaration of PC variables to be long 
floating point, and thus avoid any loss 
of precision. Generally, the benefits 
derived from the use of this statement 
outweigh its cost; however, programs 
which are time or space critical should 
be more carefully reviewed to determine 
if the use short floating point may be 
more appropriate for some or all of the 
floating point arithmetic. PC has one 
other peculiarity not common among other 
DASICs in that it rounds, rather than 
truncates, when converting floating 
point numbers to integer format; this may 
cause subtle problems in many programs. 

All the BASICS discussed here allow 
arbitrary contents for strings (as 
opposed to OG BASIC, which uses hex 00 to 
flag end of strings, etc.), although they 
all have length limits. The length 
limitation of Microsoft strings to 255 
characters will cause no problems in 
some TSC programs and severe problems in 
other TSC programs being converted. A 



36 



'69' Micro Journal 



general solution to the problem is not 
possible. Program logic must generally 
be carefully reviewed while testing to 
ensure that the 255 character length 
limitation is resolved. Usually, the 
BASIC interpreter or compiler will detect 
and flag such problems; however, the 
problems may be masked (at least under 
PC) by error handling routines not 
expecting string length errors. 

Microsoft allows hexadecimal and octal 
constants to be explicitly coded, as 
fol lows: 

hexadecimal 

6Hxxxx (x«0-9,A-F) 
octal 

60xxxxxx (x-0**7) 

&XXXXXX 

Hexadecimal and octal constants may be 
used in the same contexts as integer 
constants. In some Microsoft programs, 
the use of hexadecimal constants may 
alleviate some or all of the problems 
caused by the lack of the T5C HEX string 
conversion function, discussed later. 

Operators and Expressions 

All the BASICS discussed here share a 
similar set of arithmetic, string, and 
logical operators. PC has several unique 
operators ('V. MOO. XOR, EQV, IMP), 
UNI FLEX TSC has one unique operator 
(' •). and Microsoft has several (•><'♦ 
'«>• 9 •»<■) not supported by TSC. 



result, whereas the other BASICS 
interpret it as producing a truncated 
integer result when both operands are 
integers. This is consistent with the 
fact that PC rounds, rather than 
truncating, when converting floating 
point numbers to integer format. The PC 
operator ( , V) converts both of its 
operands to integers and produces a 
truncated integer result. The Uniflex 
approximately equal operator {* ') may 
usually be converted to the more 
conventional equal operator ('*')♦ but 
each use must be evaluated. All of these 
differences will require attention in 
many programs to avoid subtle problems, 
such as a subscript value being incorrect 
by one, a relational operation that is 
never true, etc. 

All of the BASICS discussed here allow 
Boolean expressions to be used in 
arithmetic contexts, returning non-0 for 
true and for false. They interpret the 
logical operators as bitwise, rather than 
true/false. They all have the same 
operator hierarchies. They all interpret 
a binary '+' operator in a string context 
to represent concatenation. 

They all evaluate expressions involving 
operators of equal precedence on a left 
to right basis, except for those 
involving exponentiation, which are 
evaluated on a right to left basis (for 
the exponentiation operation only). 



The table below provides a composite list 
of all of the BASIC operators, in 
decreasing hierarchial order: 

(,) parentheses 

fcn() functions 

j exponenation (caret) 

-,+ unary negative/positive 

*,/ multiplication/division 

\,M00 integer division/remainder 

+ ,- addition/subtraction/ 

string concatenation 

relational cocnpar i sons 

NOT logical complement 

AND logical conjunction 

OR logical disjunction 

XOR logical excl. disjunction 

EQV logical equivalence 

IMP logical implication 

PC interprets the division operator {'/') 
as always producing a floating point 



Multiple Statements per Line 

All of the BASICS discussed here support 
(and encourage) the placement of multiple 
statements per line, and all interpret 
the concatenated statements in a similar 
manner. TSC allows either ':' or 'V as 
representing statement concatenation, 

whereas Microsoft allows only ':'. All 
of them allow lines of up to 255 
characters in length. XPC allows lines 
to be continued by the use of the A 1 and 
carriage return combination. PC allows 
lines to be continued by the use of a 
line feed, rather than a carriage return, 
although the 255 character limit applies 
to the entire concatenated statement, 
even on multiple lines, as opposed to 
XPC, which imposes the limit only on each 
line of a multiple line multiple 
statement. These considerations may 
occasionally cause problems beyond simple 



'68' Micro Journal 



37 



character substitution, but such problems 
occur rarely in practice. 

Non-1/0 Functions and Statements 

This section summarizes the primary 
differences among the TSC and Microsoft 
BASICS in terms of the non-)/0 functions 
and statements. I/O functions and 
statements will be discussed in the next 
section. 

The string manipulation functions LEFTS, 
MIDS, and RIGHTS are common in syntax and 
interpretation across all of the BASICS 
discussed here. However, many of the 
other string functions supported by TSC 
are either not supported by either COLOR 
or PC or are supported in a different 
manner. 

The CVT group of TSC string conversion 
functions generally has correspondences 
under different names under PC and has 
only partial correspondences under 
COLOR. CVTS4 corresponds to CVI and 
CVT4S corresponds to MKlS in both PC and 
COLOR, converting a two character 
internal representation of an integer to 
and from an integer. CVT$F corresponds 
to CVD and CVTF$ corresponds to MKD$ in 
PC only, converting an eight character 
internal representation of a floating 
point number to and from a floating point 
number- CVT$F loosely corresponds to CVN 
and CVTFS loosely corresponds to MKN$ in 
COLOR only, in that the COLOR string 
functions process a five character 
internal representation of a floating 
point number. CVT$F also loosely 
corresponds to CVF and CVTFS loosely 
corresponds to MKF$ in PC only, in that 
those PC string functions process a four 

character internal representation of a 
floating point number. 

The TSC STRS function always provides a 
trailing space, but the Microsoft STRS 
function never provides a trailing 
space. PC supports a DATES function, but 
it returns a string with format 
MM-DD-YYYY, not DD-MMM-YY, as returned by 
the TSC DATES function. PC supports a 
TIMES function, but it returns a string 
with format HH:MM:SS, not as returned by 
TSC UN I FLEX. COLOR does not support 
either DATES nor TIMES. Microsoft does 
not support the TSC UNIFLEX options of 
the OATES and TIMES functions with 



parameters. 

The TSC ASC function will accept a null 
argument, returning a zero, but the 
Microsoft ASC function requires a 
non-null argument; a simple manner to 
avoid this problem is to suffix the 
arguments of all questionable ASC 
functions with "+CHR$(0) M . Microsoft 
does not support the TSC UNIFLEX MEM 
function, but it does support the TSC 
FLEX FRE function. 

Microsoft has no equivalent for the TSC 
HEX function, which converts its argument 
from a string containing a hexadecimal 
number to an integer representing that 
number. At each occurrence of the use of 
HEX must be inserted substitute code to 
perform the function. Microsoft does not 
allow DEF functions with string 
arguments; however, a USR function call 
could potentially be substituted for the 
HEX function call to perform the 
conversion. 

The error-handling capabilities of TSC 
and PC are syntactically identical, both 
using the ON ERROR and RESUME statements 
and the ERR and ERL functions to 
establish error-handling routines and to 
return to normal processing after an 
error has been detected and processed. 
The primary differences between the 
implementations lie in the interpretation 
of the error numbers returned by the ERR 
functions and in the fact that, once the 
PC version of ERR provides an error 
number, it will return zero until another 
error occurs. The following list 
provides a few of the most important 

error conditions and the values returned 
by the respective ERR functions: 
TSC PC Condition 

*4 53 Fi le Not Found 

8 62 End Of File 

9 57 1/0 Error 

16 71 Disk Drive Not Ready 

80 7 Out Of Memory 
COLOR does not support most error 
handling, severely limiting its ability 
to escape from error situations. 
Microsoft supports the EOF function, 
which indicates an end of file condition; 
this is the only error handling function 
internally provided by COLOR. 

Microsoft has no equivalents for the TSC 
UNIFLEX multitasking statements and 
functions (such as SLEEP, TASKS. TERMS. 



38 



f S8* Micro Journal 



TSTAT*, UNLOCK), nor for the TSC 
statement EXEC. Such functions must be 
either deleted or replaced by USR 
functions to request the operating system 
to perform similar tasks. 

Microsoft supports the TSC FLEX PEEK and 
USR functions under the same names and 
the PTR function under the name VARPTR. 
It also supports the POKE statement. 
However, the manner in which USR and PTR 
functions are handled is- different in 
essentially every implementation. Also, 
the uses of the PEEK function and POKt 
statement are highly dependent upon the 
hardware and software configuration on 
which the program is expected to run. 
Thus every occurrence of any of these 
functions and statements must be 
carefully evaluated in every case. 

1/0 Functions and Statements 

This section summarizes the primary 
differences among the TSC and Microsoft 
BASICS in terms of the I/O functions and 
statements. 

I/O file numbers are used in similar 
manners by TSC and Microsoft, although 
there are several differences in 
interpretation. One potentially major 
difference concerns the use of file 
number zero. TSC interprets file number 
zero to be the user's terminal, unless 
the file is opened for output, in which 
case it is interpreted to be a printer, 
or unless the file is opened for input, 

in which case the input prompts to the 
terminal are deleted. Microsoft does 
not support any use of file number zero, 
so that any TSC programs using it will 
require modification. PC supports only 
three file numbers (1-3) by default; 
however, a command line parameter may be 
used to increase this number to twelve, 
if enough memory is available to support 
that many buffers. 

Another important area of difference 
concerns file specifiers. File naming 
rules are generally more dependent upon 
operating system requirements' than upon 
BASIC conventions. The BASICs discussed 
here conform to the following four sets 
of file naming rules* discussed below: 

TSC FLEX 

TSC UNIFLEX 

COLOR 

PC 



TSC FLEX file specifiers reference disk 
files only. They are composed of an 
optional drive number (O-3) , a file name 
of 1 to 8 characters, and an optional 
suffix of 1 to 3 characters. The file 
name and suffix must start with a letter 
and may be composed of letters, digits, 
and certain special characters. The 
drive number, if present, is separated 
from the file name with a colon. The 
suffix, if present, is separated from the 
file name with a period. Letter case is 
significant. If drive number is omitted, 
the default work drive is assumed. 



TSC UNIFLEX f I 1e spec 
device. They are 
tree- structured file 
an optional set of 
separated by slashes 
name. Each directory 
must start with a 
composed of letters, d 
special characters, 
I f the file speci f i er 
a slash, UNIFLEX pr 
directory levels to 
case is significant. 



ifiers reference any 
composed of a 

reference, which is 
directory levels 
, fol lowed by a file 
level and file name 
letter and may be 
igits, and certain 

excluding slashes, 
is not preceded by 
epends pre-spec i f i ed 

the name. Letter 



COLOR file specifiers reference disk 
files only. They are composed of a file 
name of 1 to 8 characters, an optional 
suffix of 1 to 3 characters, and ar» 
optional drive number (0~3) . The file 

name and suffix must start with a letter 
and may be composed of letters, digits, 
and certain special characters. The 
suffix, if present, is separated from the 
file name with a slash or period. The 
drive number, if present, is separated 
from the file name or suffix with a 
colon. Letter case is insignificant. If 
drive number is omitted, the default 
drive number is assumed. 

PC file specifiers reference any 
device. They are composed of an optional 
device id, an optional file name of 1 to 
8 characters, and an optional suffix of 1 
to 3 characters. The file name and 
suffix, if present, must start with a 



letter and may be 
digits, and certain 



composed of letters, 
special characters. 



The device id, if present, is separated 
from the file name with a colon. The 
suffix, if present, is separated from the 
file name with a period. Letter case is 
insignificant. PC device ids are 
interpreted as follows: 



'68' Micro Journal 



A: 

B: 

C: 

D: 

CASl 

COM \ 

COM2 

KYBD 

LPT1 

LPT2 

LPT3 

SCRN 

the 



disk drive A 
disk drive B 
disk drive C 
disk drive D 
cassette adapter 
communications adapter 
communications adapter 
keyboard adapter 
printer adapter 1 
printer adapter 2 
printer adapter 3 
screen adapter 
device id is omitted. 



If the device id is omitted, the 
currently assigned disk drive is used. 
File names are required for disk and are 
optional for all other device types. 

The OPEN statements perform essentially 
the same functions in all of the BASICS 
discussed here; however, the formats for 
the statements are different. All 
require a file number, a file specifier, 
a mode, and some allow a logical record 
length to be stated. As just noted, TSC 
allows file number zero, whereas 
Microsoft does not. Also, the formats 
for file specifiers differ among the 
versions of BASIC, as do the 
interpretations of the modes. 

TSC supports the following formats for 
OPEN statements: 

OPEN OLD filespec AS filenumb 
OPEN NEW filespec AS filenumb 
OPEN filespec AS filenumb 
and TSC UNI FLEX supports the following 
additional parameter for random files 
only; 

•SIZE recordsize 
where recordsize specifies the length of 
all records in a random file; by default, 
it is assumed to be 252, which is the 
same record length always used by TSC 
FLEX for random files. Mode OLD 
requires the disk file to pre-exist and 
opens the file for input only. Mode NEW 
always creates a new file, deleting any 
old one by the same name on the same 
drive, and opens the file for output 
only. The null mode opens an existing 
file or creates a new one, and opens the 
file for both input and output (random 
access only) . 

COLOR supports the following formats for 

OPEN statements: 

OPEN mode, filenumb, filespec 
OPEN mode, #filenumb, filespec 

where mode is a string express ion wi th 

the following interpretations of the 



first character in the string: 

I input 

output 

R random 
and COLOR supports the following 
additional parameter for random files 
onl y: 

, recordsize 
where recordsize specifies the length of 
all records in a random file; by default, 
it is assumed to be 256- For conversion 
from TSC FLEX, the recordsize parameter 
should be stated as 252. For conversion 
from TSC UN I FLEX, it should be stated as 
the same value stated or assumed 
originally, unless the value is greater 
than 256, in case further manual 
intervention will be required to reduce 
the record length or split up length 
always used by TSC FLEX for random 
files. Mode "I" requires the disk file 
to pre-exist and opens the file for input 
only. Mode u 0" always creates a new 
file, deleting any old one by the same 
name on the same drive, and opens the 
file for output only. Mode "R M opens an 
existing file or creates a new one, and 
opens the file for both input and output 
(random access only) . 

PC supports the following formats for 
OPEN statements: 

OPEN filespec FOR APPEND AS filenumb 
OPEN filespec FOR APPEND AS #filenumb 
OPEN filespec FOR INPUT AS filenumb 
OPEN filespec FOR INPUT AS #fi1enumb 
OPEN filespec FOR OUTPUT AS filenumb 
OPEN filespec FOR OUTPUT AS #fi1enumb 
OPEN filespec AS filenumb 

OPEN filespec AS #fi1enumb 

OPEN mode, filenumb, filespec 
OPEN mode, #filenumb, filespec 
where mode is a string expression with 
the following interpretations of the 
first character in the string: 
f input 
output 
R random 
and PC supports the following additional 
parameters for random files only: 

,LEN-recordsize (for OPEN filespec) 
.recordsize (for OPEN mode) 
where recordsize specifies the length of 
all records in a random file; by default, 
it is assumed to be 128. For conversion 
from TSC FLEX, the recordsize parameter 
should be stated as 252. For conversion 
from TSC UNIFLEX, it should be stated as 
the same value stated or assumed 
originally, unless the value is greater 
than 102A, in case further manual 



'66' Micro Journal 



intervention wi \\ be required to reduce 
the record length or length always used 
by TSC FLEX for random files. Mode " I M 
(or INPUT) requires the disk file to 
pre-exist and opens the file for input 
only. Hode "0" (or OUTPUT) always 
creates a new file, deleting any old one 
by the same name on the same drive, and 
opens the file for output only. Node "R" 
(or null) opens an existing file or 
creates a new one, and opens the file for 
both input and output (random access 
only). In many cases, it is necessary to 
attempt to open a random file as an input 
file, close it, then open it random, to 
prevent the automatic creation of the 
random file caused by the PC random file 
OPEN statement. If a printer is opened 
as mode "R" and record length 255 • the 
normal automatic line feed after carriage 
return will be suppressed. Mode APPEND 
opens an existing file or creates a new 
one, and opens the file for output only, 
starting at the end of the file. File 
records may be no longer than 128 bytes, 
by default; however, this limit may be 

increased to 1024 and the default limit 
of file numbers 1-3 may be increased to 
1-12 (both memory size permitting) thru 
the use of command line parameters. 

TSC FLEX sets the width of a printer thru 
TTYSET parameters, which are external to 
BASIC, but may be manipulated from BASIC 
thru the use of the EXEC statement or may 
be established before BASIC is 
executed. TSC UNIFLEX sets the width of 
the printer with the following 
statement: 

WIDTH width 
PC sets the width of the printer with the 
following statements: 

WIDTH f i lenumb, width 

WIDTH deviceid, width 
with which the first type statement 
requires that the file be open and the 
second type does not; also, the second 
form applies to any access to the device, 
and thus affects the LUST and LPRINT 
statements, which the first form does 
not. In most cases, the second form 
should be used. However, the first form 
may be required if several printers, 
wi th di f f erent widths, must be driven, 
and, for some reason, the second form is 
not convenient to use. 

In order to overcome the problem caused 
by the use by TSC of file number zero, 



the Microsoft LPRINT statement may in 
many cases be used to replace the TSC 
PRINT statement. This has the advantage 
of being a simple substitution, but 
unconditionally sends its output to the 
printer, whereas TSC printer output is 
conditional on an OPEN statement 
attaching a printer driver to file number 
zero, and normally always sends its 
output to a particular printer ( ,, LPTI: M 
under PC). If this is not convenient, 
the file number may be changed to a legal 
one and the file may be opened to device 
"SCRN:" to send output to the PC screen 
or "LPT1:", etc. to send output to 
alternate devices. The other use of the 
TSC file number zero, to inhibit input 
prompts, requires manual intervention and 
review, if it is to be maintained. 

There are several other miscellaneous 
differences among the corresponding l/C 
statements in TSC and Microsoft. Most 
of them are minor and will require only 

cursory review and simple modification. 
The most important differences are 
summarized below. 

In the MICROSOFT statement "PRINT#n'\ "n" 
must be followed by a comma, even if 
there are no other parameters. Also, in 
the MICROSOFT "PRINT USING s$" statement," 
all delimiters after "sS" must be 
semicolons, wnereas TSC allows semicolons 
or commas. 

The only manner In which to set the 
cursor on the PC screen to a given 
position is to use the following 
statement: 

LOCATE row, column, cursor, start, stop 
where row represents the row number 
(1-25) • col represents the column number 
(1-80), cursor determines whether the 
cursor is invisible or visible (0,1), 
start is the cursor start scan line 
(0-31) % and stop represents the cursor 
stop scan line (0-31) . The only manner 
in which to set the cursor on the COLOR 
screen to a given position is to use a 
PRINT statement of the following format: 

PRINTn, ... 
where n represents the character number 
on the screen, which represents the 
following expression: 

( (row-1) *32)+column) 
with row values from 1 to 16 and column 
values from 1 to 32- TSC has no standard 
for setting the cursor or issuing other 



'66' Micro Journal 



41 



terminal commands, but the PRINT 
statement is normally used to output a 
character string representing commands to 
the terminal; this will require review. 



they affect the conversion process. 

The following trademarks were used in 
thi s art ic le: 



The word RECORD in the TSC statements GET 
and PUT must be deleted when converting 
those statements to their Microsoft 
equivalents. Also, the statement "INPUT 
LINE" must be reversed to "LINE INPUT" 
when converting a program to Microsoft 
BASIC. 



TSC is Technical Systems Consultants. I nc , 
FLEX and UNIFLEX are trademarks of TSC. 
Radio Shack is a trademark of Tandy, Inc. 
TRS-80 Color Computer is a trademark 

of Tandy, Inc. 
IBM is International Business Machines. 
PC is a trademark of IBM. 



Although the syntax for the INPUT 
statements is similar among the 
implementations, there are differences. 
The TSC INPUT statement always starts on 
a new line, whereas the Microsoft INPUT 
statement does not necessarily start on a 
new line. If a comma follows the prompt 
string in a Microsoft INPUT statement, 
rather than a semicolon, the question 

mark normally output after the prompt is 
omi tted . 



The TSC func 
character fr 
Microsoft 
"INPUTS", whi 
INPUTS (1) 
INPUTS (1, 
where the f 
keyboard and 
file "n". 
"INKEYS" func 
one, or two 
struck, a nor 
extended key 



tion "INCH$(n)" inputs one 
om file "n". The nearest 
equivalent function is 
ch has the following forms: 

n) 

irst form inputs from the 
the second form inputs from 
In addition, PC allows the 
tion, which returns a zero, 
character string if no key is 
mal key is struck, or an 
is struck* respectively. 



The Microsoft CHAIN statement does not 
close files which are currently open, 
unlike the TSC CHAIN statement, which 
closes all open files. PC supports the 
"CHAIN MERGE" option, which causes new 
BASIC text to be read into memory as an 
overlay, rather than as a replacement. 



SUMMARY 



BIT BUCKET 



Co^uttr Publishing Centra 

68 MICRO JOURNAL. 

3900 C«ti«ndrt S*uth, 

P.O. 8o» B4«, 

Hi„«o* f TN 37343, 

U.S.A. 

&*«' Editor* Progru Light Snitch. 



[ have bean a rudtr of the e8HJ sine* buy log ey * ir*t 
Hlcro C9«()utir In ' 7«. A SMfPC 6G00 kit plus for* for 69*J . 
PrtviDoi to this 1 tptnt m+ny years M itn tllfti computers u««0 
for Data input t processing. 

Thank you for the mny helpful i interesting Articles in 
the journal over the years arid I regret having waited so 
Kong before writing yov- 

Jt a a hoped that this Short progr** amy encourage acre 
interest in Computer control Projects especially since 05* 
psrmits 'concurrent' running without interfering Kith other 
uses such as Editing & Assa*bly. 

Th« hifdkin for this project is :- t OHO Mire L t A7 data 
Hirt fro* 'A* section of a GlhUit t«#o channel < *A* 'B' > P1A board. 
A LED * 300 one resistor fro* G*0 to (anode) Data bit A7. 

Th# lEO can be replaced after the initial tests by a solid 
state relay Un 3-24 volts d.c. out l?0 v. 14 **0 AC> , 

This prograe is written for use with a Gmi »03 CPU ooard 
having software switched Men/OS*. If tne ttfumi] 11 run *itn its' 
Oma kSyOoard t th« printer is parallel. th« A' section of Printer 
MA ~ill be available. 

Please note that any 'A' or *8» section of mny P]A could be 
used if the relative address U int 1 al 1 nation is changed- 



Aoorsat - *«' 



GInix P[A. 

D0*a.9*a * x 

CRA - [,i 

DD«B.D»B • 2, X 

CRB - Z*\ 



DTMEfl PIA may have. 

DORA, OR A • Jt 
0ORft,0RB - l.K 

CKA • :,i 

CAB -5.1 



Mith Progrs* in /DB/ChDS :- OSetLHEfl «• »i 1 1 produce S00 3 
and CS9; 

Cnter <procs> * En tar Tlfifc OFF 4 TI*€ ON' Mill appear - 

Type in the reouirsd ti«tt <-* now dockland the OS* will 
output the 'prxt' revest, i.e. 3 active LlTES etc. 
Tha Prograe LtTES is no- running and cannot be cancelled 
ejiceot by calling:* CS«:LtT6S and entering a nn« ti*s 

plus control C or or entering 00 which will cancel the 
L I rES program. 



F, M. Jones, 
7,Frontenac • 
A»i*er J9J 1C3 
Quebec Pro*. CANADA. 



'•a sincerely. 




Irf Uo*. B* 



This article has discussed the 
similarities and differences among the 
various implementations of TSC BASIC and 
Microsoft BASIC from the viewpoint of the 
conversion of TSC BASIC programs to 
Microsoft BASIC. In particular, it 
covered the peculiarities of the COLOR 
and PC BASIC Microsoft implementations 
and the TSC FLEX and UNIFLEX, Extended 
BASIC and Pre-compiler versions and how 



9—2 

ffMS 



• 12 
•M 

• L* 
it? 

fit 

au 
atl 



TO UK A* KCT10N OP P»A 
• TO OUTPUT i it T£ POP CONTRA. UBC. 



Use 24 hour eject iv«t«- and mtir 
Pr t>**». 



tnt*r #e - Ml I llHt'V Oft* --Iturr, 



OPT c , MT9. D49 

TTL LlBHT ftwirCM 

ISPPcn »rr see. 

iesea.il ht sk 

f»«JCP BIT SM 

fsciit ht sea 



hind. •*»« . en . »ei .uarwy, avsji IB 



42 



'66* Micro Journal 



M0Z3 


E#4B 


piaout 


COCI 


•E#4# 


P1A pr:**tew. 


M#2* 


€»• 


UW 


EEXJ 


•E39# 


8t«r« ON-OFF li*»*. 


99973 


E2*# 


CLOCK 


EOU 


•E22# 




#•#26 


#M# 


BUPru» 


RMS 


8 




mm o 


#### 


3T6C* 


««• 


*•• 




•M?# & 


•#*£ 


MC MB IIC 


eou 






#M2* 


i*.V! 4C 493443 


NAME 


FC» 


/LITCB/ 




«#*» 












•#*si 


Ml? SEZ#4# 


£NtMr 


LDX 


■PIAOUT 


Inlti «t* PlA. 


f»i: 


#•13 kFPI 




OLA 


l.J 




###33 


Ml 7 MFF 




. 0* 


**FF 




*##3* 


Ml* MM 




Sift 


, K 


ODRA «li Output*. 


m#33 


Mitt #**>* 




l_t» 


* •* 




#ms* 


MID ft?#i 




B7A 


1»M 


Erapl* CM*. 


•#•37 


MlF 3MDM7E 


START 


UE6I 


0R0£R.F<M 


0*t ON-OFF tl«i 


•##39 


h:; LMCM1A 




COY 


•9TRUEN 




M#M 


m?7 b#i 




IM 


• I 




###4# 


M29 ;«'>6. 




DB* 


MmUM 


tfrlt* cwwind 


###4l 


■V2C 73*^ 




■CI 


MB 




•##42 


M2E MC4 




LEAl 


mvmM,\i 


TA^OO'ArV *tor# 


###43 


HV IMCMM 




LDV 


M 




MfH 


MJ4 6#M 




LH 


• 




#•#63 


MJ6 l#3#M 




0M 


1BR0LN 


k»r«0*rc «ntry 


###■* 


M39 334? 




SCB 


ERMax 




BB«47 


W'r CEMM 




LOU 


#MM 


2trO g 4ar o<«»t 


•#•4© 


M3C BOM 




V6* 


MElCVT 


AfiCIJ to -*h . 


M#4* 


##«• £0C*E33# 




*TD 


TJMf,U 


Elor* ON-OFF timm 


###S# 


M4 4 2#3S 




•MA 


CWTWO. 


in Ram 6 Bo. 


•#•31 


•946 34 70 


»* XCV1 


•BXS 


1,Y.U 




•M32 


##4B i#efc»#*M» 


HJtvfr 


LDV 


•• 




##«1 


#**r toe> 


HlCvTl 


LOB 


, i« 


0»t CMrlMir 


•##34 


##4t MM 




*U*b 


9«3# 


)•«• ASCII o* *%** + 


«#• 


••># Cl#* 


H1CVT2 


CMP» 


•9 




•MS* 


Mi; =3« 




»U6 


MCVT3 


it 9-9 OK. 


•M= 


N34 CJ1# 




CNPB 


f#>tl 




M#M 


##S6 2312 




BLfi 


MICVT9 


if :-? Ci it. 


•M3* 


MSa CM7 




euoe 


• •7 


Adjust +csr A~F* 


###o* 


M5A C9Tf 




•ne 


t##i 




994*1 


msc :or 




BNE 


HDCVT9 


fijid i4 npt #-6^. 


•#•62 


M3E *f 


MXCVT3 


CLP.* 




Cl«*r nft pvX« 0« D 


###63 


•#".' ie#s 




E*6 


D, V 


fi*«P n»M nibbla 4. 


§00 fr* 


■hi M 




*SLB 




total. 


###o3 


#•62 49 




mx* 






i#ti_ 


##*3 3* 




ML* 






•#•67 


##6-4 4V 




•tOL* 






###40 


M*T 3ft 




A#X# 






•M69 


MM 69 




RQLA 






###7# 


M47 3ft 




AftLB 






#•#71 


M6fl 49 




HOL* 






###72 


•#** MA* 




L(ft* 


D, V 


Add b*«i. 4 atl*. 


•••73 


Mot- 2#DF 




BRA 


HICVTl 


Sat nttl tharactar 


«■■ ■ 


M6D 1F24 


Mucvr* 


TF* 


v.a 




••#75 


M6? •$&* 




• J ■ 


»,v-kJ,PC 




#M7o 


#•71 BCE33# 


OffftOL 


LDl 


•u«e 




•JWTJ 


M74 4F 




OLMA 






M#?B 


M73 A]f>4 




GPP* 


, i 




•#• • 


M77 3724 




*EO 


E tenon 




M*ov 


M79 A#C9E2?a 


OMTine 


LDA 


Cvoo.»,u 


Clock MOLf> IPha. 


###•1 


M7D Al»4 




CM^A 


i > 




• ,V . 


M)F Mii 




•ME 


DFFl 


N«l En o«. 


9—ez 


•Ml MM 




LDA 


MM 


MSP o« 1M#. 


BMBI 


•##] A7C#C#4# 




1TA 


f IJ90UT.U 


On Data out I, 


•#M9 


M67 C6C9E23-* 


OFTT 


CD# 


CL0O*4.U 


1m It OFF 9 


•##Sb 


•Mt Cl#l 




0«PB 


1 . > 


'•*.. vm*m: tiaa. 


##•#7 


•M& j*t? 




BNE 


CNTVOL. 


Not Q4» Bo cnack ON, 


•#••& 


Mftf C6M 




LD* 


IIH 


vii o#* b*l 1 . 


•##09 


M9l i7C#t#4# 




BTB 


FJAOUV.U 




•M** 


—9t BE#M1 


LOW 


LDi 


MNfl 


H it «or 1 tich. 


#•#41 


«#•# J#3f#* 




Oft9 


FBKlEI- 




•#•92 


•MB 3#04 




BRA 


CWTROL 


Go Ch*ct ON «|n n. 


MM3 


N9D 3P 


ERAuW 


ELM 






M#»4 


•»■* ]|3F#6 




0*9 


f Exit 


Error fto noma. 


#M93 


•#61 434E3443 


(MOCK 


FCC 


/IMIfi TIME ON 6 TIME OFF/ 


#M9o 


Mt* #A#0 




FCB 


tfJtfijM 




•#•97 


MIA 


bTML** 


fOU 


«-0KDCR 




M#9B 


Ml» I9FM4 




CHOO 






###'■* 


M#€ 


MEND 


ECHJ 


• 





»J06 *9l» in#ei 

16 Novfntfr )«6- 

6600 Micro Journal 
•O Bo* B«.B 

Hlnwon TM 17>«3 



K1UP 

I h«v« «njoy«d mf 6BDP >yvt»« (altlurr el &V.Ciai fc . »t« 1 for 
o«ny yaara with lha aid of your frtti M|ttkM. Finally ho^ur 1 
oacidvcl to uPftrad* to tK« 4609 uaint fc«i« tyitrt* 66 board*. Ft rat 
lh« aolhfr board with ovy old »E0» lyilra., aII «vi\I w»H and I bat ■•+ 
to bw*y to car.tl rvua. Wow ioj* nine pnnihi <$(vr or lak* a l*w Mr») 
laitt 1 « trying to brl i\* up tht r«*l oC lh«> ijntta, at ill uiing. lh» 
boarda froa Data •yatvoa 66. 1 ■ cP* the h oddraaa 1/0 option and put 
lay tarolnal at IOC*. So far I h»v* aol «v«n b«ri» abl* to bf>«*B up tri« 
S^buB pro»jil with Jutt lh» CFU an ataaty installed. V«« 1 did chan&r 
th* I/O *4draaa awl ten and ! Kav* a iaar T contlnwov* J cow 0000 to OFfT, 

Cartainly mmny of your r««d*r« avit h«vt \n«o ihu tytir* with 
varying «a|r««i ol •Uccati. MOv« ] (arf,oitar\ aoaw ila r U llttlv tM«B' 1 
Vbwr KvlP win b» Bratalully r«C*fv«d, y**t\f. 



V. B. J6f l«nb«. I 
r.I. I would hav 



FLEX Equates 

The listing of FLEX equates contains most of the storage 
locations, DOS user callable subroutines, and various 
dummy data structures and equates needed for proper 
6 809 assembly lanquaq© proqrommlng- AH equated values 
were taken from the TSC FLEX Programmer's Manual for 
the 6809 version of FLEX, 

Any of you out there who have programmed In IBM 360/370 
assembler know the use of a D?feCT (Du^my Section). I 
ha^te defined osects for an FCB (File Control Block) and a 
SIR (System Information Record). The format described by 
a Dsect may be associated with a particular area of 
storage. For example, to access the various fields 
within an FCB, an Index register should contain the 
address of an FCB storage area. It Is then Just a 
matter of using the variables In the FCB Dsect, along 
with the Index register, to access any field In the are** 



orrar <• 

warning.**) 
•#4TBC M]9# PrOQraa bytoa ovnwatao 
IM6L Bftltft dltl btrtH allDcalad 
MIC9 M437 by to* W««d «or avaoola 



Example: 

LDX 
LDD 

Record 

STD 
LDA 
STA 
JSR 
BCS 
LDY 

sector buffer 
LDD 



/SYSFCB X- 
ISIRTS 



> FCB storaae area 
point to System Info 



FCBCP,X set trk/sec In FCB 

IXRSS get function code to read 

FC8FC.X save code In FCB 

FMSCAL read the SIR from disk 

ERROR branch If error 

ISIRFCB+FCBSB point to SIR's 

SIRV0L,Y get volume# of disk 



C0HPUTBI EKCELLEPCI 
4S34 l.«. 12th AV« 
fort L#«j4#rrl#l« f fL 35334 
303 742-6321 



I • C 



pOv. 12, 1964 



Sod Will loo* Sr. 
?. 0. Pot 649 
HUo», TN 37343 



D««r Dob; 



Tb» prlcn of 236K DI*M Cbipa b*a drofbatj ilgolf lc#0t ly 1b 
th» last 90 oaya. We would Ilk* to iLtooncf «& la««olat« prlcn 
rodnctloo. Tb« i M«j. card will bt 11595.. tb# 5121 card will b« 
11095. »d th. 2561 boo 1261 cardB raaain tb» ••.«, 1750. ft *595. 
•t will alio ••!! th* PC card for $100. 



Tteaak yodi 



?^4 ^ 

7. P. FarbBwortb 
Vic* Prtaldaat 





* 

* FLEX Subroutine Link49#s 


COCO 


FLEX 


EOU 


fCOOO 




CDOO 


CODS 


EOU 


FLEX4-S00 


coldstart #Dtrr point 


am 


MftlS 


60U 


FtEX*l03 


•irBSUrt *ntrv F#jht 


caoo 


RDfTEW 


EOU 


REW06 


00S biiD loop re-entry point 


(2)09 


1MCM 


EOU 


FLEX>»09 


input character 


awe 


IHCK2 


EOU 


FLEX+tOC 


inpyt ch*rict*r 


CDOF 


ancH 


m 


FLEX^SOF 


output character 


C812 


0UTCH2 


EOU 


FLEX*«12 


output chiratttr 


CDI5 


GETCHR 


EOU 


FLEX*»15 


9«t character 


CD18 


Pino*? 


EW 


FLEX*»18 


put character 


CDI8 


INfiUT 


EOU 


FLEX*»1B 


inpgt into tine buffer 


CDiE 


PSTTuND 


EjQU 


FIEX+I1E 


priftt string Kith crlF 


C021 


CLASS 


m 


FLEX>t21 


classify character 


CD24 


PCftF 


EOtJ 


FLEX+124 


print 0? and LF 


CM 


NXTCH 


EOU 


FLEX*$27 


set next buffer character 


C0#M 


RSTPIO 


KU 


FLEX*l2ft 


restore I/O vectors 


CU20 


GETFIL 


E«t 


FLEI*$2» 


9et file specification 


CD30 


LOAD 


EW 


FLEX*«30 


file loader 


OT33 


SfclElT 


EOU 


FLEX*I33 


set extension 



'66' Micro Journal 



43 



0000 


Wi 


EQU 





•• 


0001 


111 


E9U 


i 


■• 


0002 


00 


m 


2 


•■ 


0003 


bas 


EQU 


3 


** 


0004 


SYS 


EQU 


4 


** 


0005 


m 


EQU 


5 


♦♦ 


0006 


SCR 


EQU 


6 


♦• 


ooc? 


DAT 


EQU 


7 


M 


0008 


BAC 


EQU 


8 


• • 


O0O9 


DIR 


EQU 


9 


• • 


OOOfl 


m 


EQU 


10 


• • 


0008 


or 


EQU 


11 


• ■ 


CS36 


Afltfil 


EQU 


FLEX*t34 


add B-resisttr to 1-resister 


CS39 


oomc 


EQU 


FIEM39 


output decimal number 


COX 


ouncx 


EQU 


FlEI+fX 


output hexadecimal number 


a& 


NTJtKN 


EOU 


FLE1+I3T 


report error 


CW2 


GET** 


EQU 


FLEM42 


ttt hexadecimal number 


CD45 


RJWR 


EQU 


FIEIH45 


output hexadecimal address 


C048 


IWEC 


EQU 


FLEIH48 


output decimal number 


C948 


DCDHJ 


EQU 


FIEUI46 


eatl DOS as a subroutine 


rre 


STAT 


EQU 


FLEI+14E 


chock terminal input status 




i 

• File 

1 

srsfce 


riantstmtnt System Entry Points 


C84Q 


EQU 


SC840 


Svstem FC8 


woo 


F«S 


EQU 


•0404 


File Pknastment $vsttm tntnr 


woo 


FHSINT 


EQU 


FWS**#0 


FHS Initialization 


W03 


peas 


EQU 


FHS+W3 


FHS close 


W06 


n&PL 


EQU 


F«S*S<K 


FKS call 




* 

♦ Global Variables 




0409 


o 
FCBASE 


KU 


FNSff09 


FCB base pointer 


woe 


FCflCW 


Evil 


F«S*«06 


current fC8 addross 


W35 


FC9V«P 


ecu 


FKS+W5 


verify Has 




♦ DOS memory 


map 




cm 


t 
UCRf 


EQU 


•coeo 


to KOfT (128 bvte lint buf) 


ccoo 


«*> 


EQU 


KXOO 


start of MP 


ccoo 


BS 


EQU 


NAP+W 


TTYSCT backspace char 


CCOl 


sa 


EOU 


MAP+IOI 


TTYSET dtlttt character 


CC02 


EOL 


m\ 


MAP*f02 


TTYSET end of lino character 


cco3 


DEPTH 


EQU 


rW>*S03 


TTYSET deptn count 


0C04 


WIDTH 


EQU 


**>*ft04 


TTYSET mdtn count 


0005 


mi 


EQU 


MAJ>*«05 


TTYSET null count 


CCW 


TAB 


■QU 


«AP*I06 


TTYSET tab character 


CC07 


BSE 


EQU 


hap*io7 


TTYSET backspace echo character 


CC08 


EJECT 


EQU 


fW>*WG 


TTYSET eject count 


CC09 


m 


EOU 


MAP+109 


TTYSET pause control 


CCOfl 


ESC 


KU 


HAPftOA 


TTYSET escape character 


(£06 


SOW 


KU 


hAPfsoe 


svsten drive number 


ccoc 


fcKDRV 


■QU 


P#Y>*I0C 


*erk drivo number 


(X00 


svsesi 


EQU 


MAP+IOO 


SYStei scratch 


•COE 


SVDR 


EQU 


hAPflOE 


SYStn date resistors 


ecu 


lstjw 


EQU 


«#♦•!! 


last terminator 


CC12 


UCTA 


KU 


nAP*ti2 


user coe*and table address 


COM 


6tFF*T 


EOU 


nflP*U4 


line buffer pointer 


CC16 


ESCfiR 


■QU 


nAf>*tl6 


escape return resister 


ccia 


CJC 


EQU 


wile 


current charactor 


CC19 


rTOl 


EQU 


rw>*ti9 


previous character 


CCIA 


an 


KU 


nAPftiA 


current tine nunfcer 


CC1B 


LAO 


EQU 


MAP*1B 


loader address offset 


CC1D 


mc 


■QU 


P#V*I1D 


transfer Has 


cue 


twow 


EOU 


MAPH1E 


transfer address 


CC20 


fitserr 


KU 


HAP+120 


error trpe 


CC21 


IGFLG 


EQU 


hap**21 


special I/O Has 


CC22 


osm* 


EQU 


MAJM22 


output Juitca 


CC23 


ISWTD* 


EOU 


NAPH23 


input smtch 


CC24 


FOA 


EOU 


NAPH24 


file output address 


CCtt 


FIA 


EOU 


HAP+126 


file lfttut address 


CC28 


CWFLG 


EQU 


MAP*I26 


co wand flas 


CC29 


CDC 


EOU 


HAP+129 


current output coluon 


CC2A 


STSCR2 


EOU 


MAPftfA 


SYstes scratch 


CC2S 


»©©€) 


KU 


MAP+129 


•etjOfY end 


CC20 


EW 


Ear 


W**20 


error naM vector 



CC2F 


F!ff 


KU 


NAP+*2F 


file input echo flas 


CC30 


SfSCJQ 


KU 


HAPt«30 


SYStoi scratch 


CC4E 


SYSION 


EQU 


HAP+S4E 


SYSte* constants 


ccco 


FRINIT 


KU 


w*«co 


printer initial ire 


0C08 


PRO* 


EOU 


rW*»D8 


printer roadY chock 


Ct*4 


POUT 


EQU 


Wf+Ui 


printer output 



rr*8 SYSCR4 EQU NAP+4F8 svstoo scratch 









» Dsect for 


an FCB 




0000 








ORG 


$0000 




0000 






FCffC 


Rf© 


1 


function cot> 


0001 






FC9ES8 


Rf© 


1 


error status bvte 


0002 






FC8AS 


f5C 


: 


activity status 






»01 


ASftAO 


EQU 


l 


eeopen for read 






0002 


AS&D1T 


EQU 


2 


••open for trite 


0003 






FC8SN 


wC 


1 


drive number 


0004 






FCBMArl 


RfC 


a 


filt name 


oooc 








RW 


3 


extension 


OOOF 






FCfiFA 


R^C 


i 


file attributes 






0080 


FA«P 


EOU 


X 10000000 ♦♦writ* Protect 






0040 


FA[f 


EQU 


tOIOOOOOO ••delete protect 






O020 


FttP 


EQU 


ZOOL 00000 •tread protect 






0010 


FACP 


EQU 


X0001000C 


1 ♦• cataloe protect 


0010 






FCWS1 


(9Q 


1 


reserved for future use 


0011 






FCBSDA 


RftB 


2 


startins disk addr of file 


0013 






FCfiEDA 


R«B 


2 


ertdins disk addr of file 


0015 






FCfiFS 


Rffi 


2 


file size 


0017 






FOFS« 


RT6 


1 


file sector map indicator 






0000 


F9GEQ 


EQU 





••sequential flit 






0002 


FSmPh 


EQU 


! 


eerandom file 


0018 






FC8RS2 


RHB 


i 


reserved for future ust 






0019 


FC8FC0 


EOU 


* 


filt creation date 


0019 






FCWTH 


Rf© 


i 


«t*nfh 


OOIA 






FOBAY 


RT6 


1 


today 


001B 






FCJW? 


RfQ 


l 


•♦vtar 


001C 






Fcap 


RfC 


2 


FCfi list pointer 


OOIE 






FC8CP 


RfQ 


2 


trk/sec currently in sec buff 


0020 






fCKRH 


we 


2 


current record number 


0022 






FC80I 


RPfi 


i 


data index 


0023 






FC8RI 


RHfi 


1 


random index 


0024 






FC94C 


rvQ 


11 


name uork buffer 


002F 






FCBCOA 


fff 


3 


current directory address 


0032 






FC8FO0 


RfC 


3 


first deleted dir Ptr 


0035 






FCWSCH 


RMB 


11 


scratch bYtt* 


0038 








«G 


►UfclH** 




0038 






FC6SCF 


Rffi 


1 


SHct compression flat 






0000 


SCFSC 


■01 


100 


•tperfor* space compr. 






OOfF 


SCFXSC 


EQU 


UF 


otperforn no space compr. 


0040 








ORG 


FCWRtll 








0040 


FC9S8 


SOU 


i 


sector buffer 


0040 






SSLIMC 


RW 


2 


next trk/sector in chain 


0042 






SWSl 


RTfi 


2 


reserved for future use 


0044 






S80ATA 


RMB 


252 


data storaie 






0140 


FC610* 


KU 


■ 


lertsth of FC8 






» Function Codes 








0000 


IfttC 


EOU 







read/urite next bvte/char 


0001 


IQRDW 


EQU 


1 




open for read 


0002 


1GW1T 


KU 


2 




open for trite 


0003 


KXTOT 


KU 


3 




open for update 


_0004 


tOOSE 


EQU 


L 




close file 




0003 


I KIM) 


KU 


5 




rewind filt 




0004 


I0OIR 


EQU 


h 


i 


open directory 


0007 


IG1R 


EQU 


7 




tot information record 


0006 


XP1R 


EOU 


8 




put infortat 


ion record 


oow 


XRSS 


EQU 


9 




read smsle 


sector 


•OOA 


IUSS 


EOU 


10 




•rite sinsle sector 


0006 


IRES1 


EQU 


11 




reserved for future use 


OOOC 


Kerr 


KU 


12 




delete file 




0000 


XREMArl 


KU 


13 




rename file 




OOOE 


XFES2 


EOU 


14 




reserved for future use 


OOOF 


XMSS 


EOU 


15 




next sequential sector 


0010 


IOSIR 


EOU 


16 




open srsteo) info roc 



'68' Micro JournaJ 





001 1 


XG*6 


EQII 


17 


set ran dot bvte fro* sector 




0012 


XPR8 


EOU 


18 


put randoi 


bYte in 


sector 




0013 


X«K3 


EOU 


I? 


reserved for future use 




0014 


XFND 


EOU 


20 


find next drtve 






0015 


C^OSK 


ran 


21 


Position to 


i record 


n 




0016 


XBOR 


EOU 


22 


bacfcu' oft* 


record 








• >5*ct for 


* SIR 








0000 






ORG 


•0000 








oooo 






RH6 


16 


16 bvte header 




0010 




SlfetiA 


RJ1B 


8 


volute naie 






0016 






m 


3 


extension 






001B 




S1W0L 


HUB 


2 


voluw mi»b*r 




0010 




SIRFS8 


BIB 


2 


besinnins of free 


chain 


ooir 




SIRFSE 


RflB 


2 


end of free chain 




0021 




SIRFSS 


RflB 


2 


• sectors in Free chain 




0023 


SIROS 


EOU 


1 


creation date of disk 


0023 




SIRFTN 


RflB 


: 


»»«ontfc 






0024 




SIRDAY 


RUB 


l 


•*dav 






0025 




SIRYR 


WO 


i 


•♦Year 






0026 




SIRHTS 


FW9 


2 


taxnwi trfc/sec available 




0028 


SIRLEN 


EOU 


# 


SIR lensth 






t 

* thutHanious tiuatts 










0003 S1RTS 


eo; 


•0*03 




trk/$« of SIR 






0005 OIRTS 


E«J 


•0005 




trk/stc of 1st nod* in dir 




0004 EOT 


EOU 


4 




end of text delimiter 






OOOA CSLF 


EQII 


•OOOA 




cirrus* i 


return, line tttt 




0000 C* 


EOU 


•00 




carri49t 


return 






OOW IF 


EQII 


«0A 




line ftttf 








0007 BSJ. 


Eau 


•07 




bed 








0020 SP 


EBJ 


•20 




SNCt 








0000 URAK 


EOU 


•OOOO 




to •BFFF 


(User RAff area! 


\ 




COOO STXA 


EOU 


•cooo 




to •C07F (SP init«d to C07T) 




C100 OCA 


EQII 


•CIOO 




to fC&Ff (Util CM Are»J 


1 




C700 Stt 


EOU 


•C700 




to IC83F 


(Schdlr & Spooler) 




C980 SFA 


EOU 


•C980 




to C8FF i$n\f File* Are*) 




CCOO DOS 


EOU 


•aoo 




to 03FF fOOSl 






1-700 CU» 


EOU 


•F700 




rN) tite 


clock (DOS) 






DEOO OORV 


EQII 


•DEOO 




to OFFF (Disk Drivers) 








CFI 


LIS 












SYWCL 7ABL£ 


J 














A0C8X CS36 


ASKAD0001 


ftSWIT 0002 


6AC 0006 


BMC 


0005 


BflS 0003 


SELL 


0007 


bin oooo 


BS CCOO 


BSE 


CC07 


HFPNr CCH 


CLASS C021 


ON CCIA 


CLOCK F700 


OT 


0002 


OTFLG CC28 


CX 


CC29 


COLDS COOO 


CR 0000 


CH.F 


OOOA 


a«C C€18 


OAT 


0007 


DON OEOO 


flfcl CC01 


IEFTH 


CC03 


DIR 0009 


DIRTS 0005 


Ktttti C04B 


DOS CCOO 


EJECT 


CC08 


EXV CC2S 


Ed. 


CC02 


EOT 0004 


ESC CCOA 


BOB 


CCI6 


FflCP 0010 


FN5P 


0040 


FARP 0020 


FAiT 0080 


FCBAS 


0002 


FCBASE D409 


FCKDA 0O2F 


FCBCP OOIE 


FC9CW 0020 


FTBCUR D40B 


PCfiOI 0022 


FCcW 0003 


FCfiESA 0013 


FCS5B 0001 


FCSFA 


OOOF 


FCfifC 0000 


FCBFK) 0019 


FCJFDO 0032 


FtJFS 0015 


FC8F9I 0017 


FCSLEN 0140 


FC8LP OOIC 


FC6NAM 0004 


FC6*fi 0024 


FC8RI 


0023 


FCBRSi 0010 


FC8RS2 0018 


FCBS8 0040 


FCBSCF 0038 


FC8SCR 0035 


FTBSOA 0011 


PCW& tM35 


FCBOAY OOIA 


mm 0019 


FCOT 


OOIB 


FIA 026 


FIEF 


CC» 


FIB COOO 


FHS 0400 


FWCAL 0406 


FTGOS 0403 


FW»W CC20 


Fm\HJ 0400 


FGA CC24 


FSffiAN 0002 


^51610 0000 


OETQ« C015 


CETF1L C02D 


GHrCl C042 


IlfiUF 


COIB 


INCH CD09 


IfCH2 CMC 


INKC CD48 


10FLG CC21 


ISMTCH0C23 


LAO CCIB 


IF 


OOOA 


H€BF coeo 


LOAD ©30 


LSTRtt 


ecu 


HAP CCOO 


POGIDCCa 


NULL CC05 


NXTOI C027 


OSMTQt CC22 


QJT OOOB 


OUTACR CMS 


arrcH coof 


0UTOCC0I2 


0u7HCCO39 


amci cox 


PALI 


C009 


PCRLF C024 


POUT CCE4 


PRDfC 


CCOO 


PREVC CC19 


P«!NIT CCCO 


PRT OOOA 


PSTRHGCOIE 


PUTOH C018 


R9TUI C006 


RPTERR C03F 


RS1RI0C02A 


SBQATA0044 


S8L1NK0O40 


38RS1 0042 


smec ooff 


SCFSC 0000 


SCR 0006 


sfren CB33 


3FA CTCO 


SIRCRE 0023 


SIRQAV 0024 


SIRFSS 0010 


SIRFSE 001F 


5IRFSSOC21 


SIRLEN 0028 


si&rmoo23 


SIfefTS 0026 


SIWW1 0010 


SIRTS 0003 


SIRVOL 0018 


SIRYK 0025 


SP 0020 


SPS 


C700 


W Micro Journal 













STAT C04E 
SYSCW CC4E 
SYSFCBC840 
XA CIOO 
WSR* CCOC 
XGI8 0007 
XOSIR 0010 
XPRB 0012 
IREUND 0005 



STKA COOO 
SYSCRI CCOO 
TAB CC06 
UCTA CC12 
JtBOR 0016 
«SRB 001! 
XOUPOT 0003 
XRENAM 0000 
XRSS 0009 



SYOR CCOE 
S'fSCR2 CC2A 
TRADW CC1E 
URAK OOOO 
CLOSE 0004 
XNSS OOOF 
XOURir 0002 
XRESi OOOB 
XRWtB 0000 



sywv ccoe 

SYSCR3 CC30 
TRFIG CC10 
UARG C003 
XDEin OOOC 
XOOIR 0006 
XPIR 0#08 
XRES2 OOOE 
XUSS OOOA 



SYS 0004 
SYSCR4 CCFB 
m 0001 
WIDTH CC04 
XFND 0014 
XO^AD 0001 
XP09i 0015 
XRES3 0013 



DAVID V. OADBY 
2, LUPIN CLOSE 
HINCKLEY 

LEICESTERSHIRE LE10 2UJ 
ENGLAND 

JUST A COUPLE OF PROGRAMS THAT MAY PE USEFUL TO 
FELLOW 68XX USERS. I'M SORRY THERE IS NO LOWER CASE 
BUT MY USED ADM3 HASNT GOT A LOWER CASE GENERATOR 
FITTED YET-, t ANYONE GOT A MANUAL ?J. 

THE FIRST SET OF PROGRAMS IS A PASCAL PROGRAM 
ILUCIDATA1 WHICH DOES DIRECT INPUT-OUTPUT WITH THE 
TERMINAL USING AN EXTERNAL PROCEDURE. IF NOTHING ELSE 
IT SHOWS THAT IT WORKS. ACTUALLY IT IS PART OF AN ON- 
SCREEN VORD PROCESSING SYSTEM THAT I AM DEVELOPING. . 

IF YOU ARE A FLEX09 USER AND YOU HAVE ALWAYS 
WANTED A FUNCTION KEY FACILITY THEN READ ON, THERE ARE 
TWO PROGRAMS AND THEY WORK TOGETHER. THE FKEY CODE 
OVERLAYS THE FLEX INPUT VECTORS AND INTERCEPTS ALL KEY 
INPUTS IN ORDER TO TRAP THE FUNCTION KEY REQUEST 
(CURRENTLY THE TAB KEY). 

THE FUNLOAD PROGRAM ALLOWS YOU TO LOAD PRESET 
FUNCTION KEY VALUES FROM A TEXT FILE. TXE COM*€NTEO 
CODE SHOULD PROVIDE ALL THE OTHER DETAILS.. 

FINALLY I HAVE JUST JOINED A COMPANY WHICH IS 
SELLING A 68000 BASED MACHINE SO ITS MOTOROLA ALL THE 
WAY 

P«DU« KEYIQj 

O l» 

AtmO* i fc.ViGOADSY 

O CHEAT! • 29/ /« 

CO |T . 73/*sa? 

tXLCMVtfi UffEDIA 

v£46J0* t 1.2 - t LUCIOA1A PASCAL V 3*9 1 



TKIE m»M ALUM DIftfCT llVtOMW I NH1 /OLjTWUt 

MSJHC AH [ETERNAL HOCEOLKE KEY tO, ALL REVKMRD 

CQOEB AftI KETIAMED TO THT mOUHWI AMD THtl ALUMfl 

THE PftOCRAffhEH tO USE COrTWk, COPE* "HIO ARE NUT 

NDRJWLLV RAISED t*Ct TO TK PHOCTAn, 

KEVjfl [fl CAU.EO WJTk A TUITION CUOC 1*4104 OCTCRmJnCS 7MC 

ACTION Of THE ElTfftNAL PKDCEOURZ. AtTXXCH QMLV REAO,l*»JTE 

AND HOG ARt iNTUftElfTCD hanv OT»«t POMtitLtTtEB EH T. 



• I 



(• ADQRE9* OF EirzXNAL **CCtOU*l •> 



I CX9&T 

cxtiet -*r2ooi 

> rnc*D ■•01 i 

rURITE ••02 t (* UHITE TO SCHEEH •! 

t l&KKt *#0>i f TMAN tOC OFT •> 

CC7C30N . *u-4 p | a Tut* i u « ON • ■' 

/JNJS»* .CHRt«lAtJ <• TERMINATE OtftACTEft •» 



Of»* I04AMI 



£XTXANAL E*T«£Ti 



! rVKDlAM . TO HI MOM IT MOAKS «> 



« I* NAJN I 

4 BEGIN 

A URfTELNC' HEVJO TftT f*Q«AA TWt CTAL J t© TER«lNATt, * Jr 

44 WVJO(D«l,ICMOmi I. TURN OFT EDO •) 

■* RXRfAT 

a4 l#l)TCLM4 

06 WRITER INPUT A OARACTCA t'U 

114 EEYlOlB*f»l*nXEAO)» 

134 URJTEf r CHARACttR Ifi'ji 

i» xLvro.'L'Asrrunirtu 

1*4 MRJTtLN r CHAR VAX It 'pDAOICHIUIIi 

717 UNTIL CHfll-nhlBMJ 

73* WITH" HON [MTER A CHARACTER t T )f 

Z54 !CTIO(C>«J*ECKKlHJ i I* HtlTORX EDCH 

J'fc KEVtQlOitl.rNEADii 

29a \mtTtLHt'i - IF ftCHO WAS REVTDKXi) TXEN LAftt INTUT S«UU) ftt ftEEN'Jr 

34* END. 

344 STTCft 

tHO Of RASH 1 

ENS Or RAM 2 

(M TO R4R4 



46 



**Af) 



JTCVIO 



AUTHOR i D.V.GOAOW 

> create i ;i/*/*a 

rOIT i 29/*vS? 

rtLLMA^t INOuTl.*^ 

i version i i.i - i ran use with lucidata 



CCoq i»At;jc rog 

cp.o:< ruAHMb cou 

cooi iiwj iou 

coot riMP3 i Chi 

I [«--* OUTPUT *U"J 

fb** twin i«j 



. , i 
•■:dot 

tCPOt 

•fj»a 



RASCAL V 2.9 4 PS 



• THIS CISC 19 TNI tlTTAMAL PRTJCXuURC EXVIO 

• onto eiteanallv row tht pajc^u. ninin, 

• TX rORnAT IB I«PlAtX0 IN THE PASCAL LISTING. 

• LuCXdATA PARAMETER* ARC H^CEO ON A 81 AC* POINTCO TtJ 

■ Br A TI.HH CMJtCO *M4i TX I |««T fa BvTEQ ARE T»t 

• activation record an* are hot to it touched. 

■ nARKUB** CONTAINS IX P\>1NTEA FO TX CHARACTER vARJA8l£. 

• AARKUFtB CONTAINS THE ACTUAL FUNCTION CODE i 



ra*2 calf >.aj u [«*r 
• rut overlays 



WAUxMHApt: >JN TERRINAl 

MAR* LTAAT 

r».H HALLS EI At MtAC. 

pst-run outfvt routine 
psfM» n*vr RfluriNt 



COUA 
COOD 



ops mnpui ru i lNrvrr v*crroA 
FfcB start 

rw» star; 



EQUATES 



OlAA 
OlAA 



ftoo 


prcltc 


cou 


bftoo 


</!44 


naRkm* 


COU 


• 1*4 


ro*c 


ECHO 


cou 


•rv*c 


fo*e 


ECHDAfi 


tou 


•roic 


ro44 


PSvInP 


cou 


•rfi4i 


ro98 


psyout 


LOU 


•ro-4 



LOCATION Or THIS PAESStAA 

test or stack rm user call 

CONTAINS ADDRESS OF ECHO AQUTINE 
ACTUAL AOORtS* OT ECHO A0UT1NE 
PSVHDW JN»VT WCUTINC 
P8VRON OUTPUT ROUTINE 



• origin as nioh as nmsiBLi 
paucli 

PHOCL 

• MAIN 
START 



EOU FROCEMO-BTAAT LENGTH OT CODE 

!•*! muaa faun amove 

one *coo© proll fur aigwt an or tx mav 



FUNCTION COOC EQUATES 



OOOl READ EBU 

•XKJ? WRJTf IOU 

oo*i4 e chuff eou 

0004 COO* EOU 



NCAO KEYBOARD 
milt. TO SCREEN 
turn off ECHO 
AEVTUAC CDC 



emtr? 



F200 *E M4* 

rzo? a* es 

F2o* At €1 
F20» ZT JA 

rz** Bl 02 
F2o# 27 10 
r?«D ii oj 
f2or 26 o* 
r?ix io«c Oooo 
rzt* icm ro«c 

/?ja ioAL* ro)t 
mi iobt ro*c 

1?27 39 



¥772 BO 
T22A A/ 
r77» 59 



f22h AA •• 0*> 
i*?20 •?» **MA 
r73* 39 



EOU 

LOi 

J HA (I. I 

*;np« t^iEAO 

HU ftfAAl 

C*»»A LlMITTt 

BCD MRXTEI 

•fA 1C1XVT 

•**£ EO40DW 

LDV LO 

STY CO*D 
HTB 

ZCHOON LDV ttOO*XS 

■TV ECHO PUT BACI CC»«0 AOWTHB 

NTB ICNORt OTHfP COU Ji 



GET STACK PDJNTC* 
GtT FUNCTION CODE 



CLXAJt [DO ADpRESfi 



At All AOUTlNf 



HT Rl r VALUE 
•UT HCB1JLT I 



> MAlTt ROUTINE 

•jAIIHI LOA 
J8A 
ATB 



(6*11 
PBVOUT 



BfVcDAcSk OTTtCTfB 
S«T«Ot TABCti 



tCHQ 
IWTA¥ 



i -fti ECMOAO F09C E04D»T OOOJ 

f^OO NMWUa 0144 PACLOC F20O 
OOOt AEAOI TZ23 MHItE 0O02 



CO«3N 0004) 
PSVXMP FD44 
MATTtl f2?* 



F2AA 
PSVOUT fDSA 



function try* 

OAVID •/. QOAMy 
CNCATE • 9/9VBO 
COIT • IV/3/B1 

riLCNA^i 14. ncvoo.riT 

wtASION < 1- J PLCicrt/PttvnaN 



7X18 PfiOO»**i AU0V« TX USCA TO OtFTNE 9 FUNCTION 

KEv BTAfMCB. 

TXI M0CC4M INTEAtE^TS T*tf NQAA4L rUl IN^UT 

F*OX THE Kl^HJAAd ANtl U<M ■ 'i I OA T"L TM HI*. 

TXt TAB Ktv MAS mr CHOICE FOA YHC TN1COEA BUT VQU 

CAN CHAACC IT TO AMVTNIMC VOU I tit. 

IF THE TAB OAAACTEA 18 OCTTCTED THlM FHt NtJT 

OAAACTEA IB 04EE8CO JtM A VAUJK OF 1-9 SICNlFirtNC 

A ri^CTlON ttv KlOUtfT* IF IX VAjJMf 11 T>*N THtB 

1N0ICATEB AM CHIT AXBUXBT. T>*£ tOCT F\ACT10M ALUM 

TX UBXA TO 0I0P1AV ANO ALTER ANY OF T*« FUNCTION 

STRING* CURRSNTLV HfLO. TX BrBUH HAS A ST«NOAR0 

SET Of CQJIMJ4PB 1 N J TI A5.Lt 1 , 

MM ARE 9 rtHCTJl>t KtvB AMD tACK Kit CAN HAVt A 

7* CHARACTEII PTfrlNC A8EIEJ«[J TO (T> THE STRING LXNCTH CAN 

8C ALTCPCP BV CMANG1NC lm CONBTAMT LlXL, 

JF TX BTRtNC IB TCRNtMAftD MlTN A V TXn FVRTXfl UttA 

INPUT IB WAITED FOR. OTXRHlSC A COWLETt STNlNC All* 

A CAAHJACt RETURN 18 B47NT TO FUt, 

TX ACTUAL ruXTlON ify GDNSI8T9 OF A TUO <X? 

SXflUCNCI TAB-muw .TX TAB KE* Iff] TRlOCtRB 

A TRA# N>HO 04TCH5 TX FDLLOMINC XT VALUE. 

IF TX tUV II 1 TO 4 f>Cll TX PARTICULAR FUNCTION 

OESCRtBLD IV THAT X(V {8 8XHT TO FUil. 

A KEV VALUE OF INDICATE! TH*T TX 

U8CR UX8HC8 TO t*IT OX OF ?X PAfDCBCRlBCO 

rUNTTIONB. A/TEA A TX X>T CNARACTTA SHOULD 

BE J -9 AND THE FUNCTION vAl.ME UILL Bt OlBPLAVED- 

TX UBCA 1XN INTCA8 M FOR NO ACTION OR A FOR 

XPLAilL lULLOWEO (Jt TX NlH 8TA|**C- 

A C9VANI0N I HI BUI CALLtO FUNLOAO CAN BE U«fD 

TO PRtLOAH ThI TABLE MlTh nT>Rll » r« [ N£ 9£T«. 

TX U«tA CAR HAVE A plFrtAENT SET OF rUNCTlOR WfvB 

FOR 81FFENCNT ARPLICATIOHB EC BAB IC . ABM »BRXR ETC. 

KV 8V8TD1 HAS A FULL CD*RV»UI OF XRoRT SO 
I LOCATIO TX CODE BCLOW •COOO. A CLOSE 
LOOM AT TX OAC BTATtRtNTS BNOULO REVEAL r*0N 
1 DID ITi (NINTi I ABBENIUP IT THtCf). 



*t*<» »r 


81/0 




«n 


XBAVt 




EtE^B IV 


0C79 




TST 


FLAG 


IS 0IV1AT 6TILL ON 


BEM 26 


27 




ONE 


FlN>>T 


GET BUFrtA INPUT 


Bt*o 80 


F844 


BTARTl 


J8«t 


INPUT 


LfF CHAAACFER AS NORMAL 


iF*3 81 


09 




Of» 


L909 


TAB f ■■ CHANCE T IB IF VOU LIKE 


BEA* ?T 


OF 




BE0 


THARJ 




8CA7 Bf 


8E72 


xruRN 


STk 


18AVtl 


SAVE BUFFER POINTER 


BtAA 35 


04 




PICA 






AtAC BE 


BE70 




LIU 


>s*vt 




8€a» 39 






ATI 






BC/O 




»9AVE 


AHS 


2 




B€7* 




jSAVtl 


AX* 


1 




BC?4 




rWJT 


4<«8 


1 


1 UNCTION «£V NUAOIR 


yi/> 00 




rtAC 


FCh 





DIVERT FLAG 




8L7A 


TRAPl 


EOU 


■ 








■ J9N BACKSPACE XEOCO 


IOR BOX TERMINALS 


be;a bo 


FP44 




JBA 


INPUT 


CtT XVT CHAAACTCA 


st/* yo 


8F1C 




J8« 


SSPACE 




strc si 


30 


COITCS 


CNPA 


t'O 


EDIT NEOUIAED 4 


BE/E 1'/ 


." 




BEB 


CO IT 




BEB*i *» 


N 




SSR 


VALIO 


CHECK 1-9 AND OCT ADDRESS OF CX> 


SEA? 2% 


oc 




«•:• 


6TAATI 


INVALID 


Bt«4 /J 


BE7» 




CON 


FLAG 


SET OlvERfcJQN 


*t:Bf BE 


BE72 


nw»: 


LO* 


I SAVE 1 




BtAA Ad 


8-1 




LUAA 


0.1 


6ET At»T CMARACTTR 


Bt«C 81 


00 




CNPa 


ttOO 


END OF JVTRIX; 1 


AIAt ?* 


OS 




8NE 


CMKNJT 




BtTp if 


BE/> 


FUHBAT 


CLA 


FLAG 


SIT TO NDRnAi. 


•C93 TO 


cc 




BRA 


XTURN 




8t«9 At 


♦c 


CHJCN1T 


Cnta 


t'\ 


USER INPUT AtQUrXD I 


BES/ 2* 


•% 




BNI 


PI 8PM 




BE^ t% 


8L7* 




CLA 


FLA£ 


Stf 70 NORMAL 


BC9t 90 


C2 




m* 


START I 


GET USER 1NFVTT 


Bt*E SO 


>0>8 


0I8RL1 


JtA» 


anrvr 


BENS CHARACTER TO TEAM I HAL 


BCAI 38 


01 




INK 




POINT TO REIT [NT** 


eiAj to 


C2 




BRA 


AtTURN 




BIAS 80 


FD44 


E01T 


Jqn 


INPt/T 


GET FUXTION NO. 


Bf AA 8t> 


72 




BW) 


BSF-Atl 




PCAA 40 


>2 




AW 


VALID 


8CE IF 1 9 ANO GET ADDRESS 


BtA{ 73 


82 




set 


START l 




BKAt BF 


BE72 




8TJI 


*SAXE 


SAVE ENTKV VAIjUE 






■ OXBRLAV FUNCTION ftv CDNTLNTB 


BtBI 8A 


.* 


OlSRLAV 


LDAA 


IT 




f»EK3 K0 


roM 




JSR 


OUTPtT 




6f&* l>A 


Pl*4 




LOAA 


FNUH 


GET NURSER 


BfBV BD 


FD^8 




USA 


OUTPUT 




WBC 84 


10 




LDAA 


t'. 




PEW 80 


PD1S 




JSR 


pumfl 




•k.i:i he 


Bt77 




LOI 


ISAVEl 




«t« AA 


80 


PLOOP 


LOAA 


O, I. 


tl T CHUM Tl h 


Sir:* 81 


M 




CFA-A 


CAOO 


10L 1 


BClft 21 


08 




BCU 


C0NX1T 




tttJi BO 


»D9* 




JHH 


OUTPUT 




BFU* TO 


r* 




BRA 


PLOOP 


PRINT THE AEJST 


BtCJ Ad 


M 


START2 


LOAA 


1400 


SEND CR TO FLE* 


*EUi ?V 


•14 




BNA 


RETURN 








• non Check ior r 




BEDS 8A 


JA 


fONtfT 


LOAA 


t'i 


ErPERATOR 


X09 »0 


ros* 




JSR 


OUTT*UT 




BEP8 80 


FD44 




JSR 


1N>V»T 


t-lT (■ T JJN 


BEOS 81 


»2 




CNT>A 


im 


XALACE » 


BSOP 7* 


ro 




sx 


8TAAT2 








• CVTSR 


REM 6TAINC 




MM 8* 


3D 




LOAA 


• '• 


SIGNIFY START OF STAINS 


811 1 80 


ro>s 




JSR 


OUTPUT 




BtXA BE 


II-. 




LPx 


ISA Vtl 


GCT TABU ENTRY 


11 J' CA 


47 




LDAA 


KLlNtL.l 


LEHLTH OF Buflf.m-1 


Bf iv AD 


ro*i 


rot-oop 


JSR 


JAJPUT 


i.l T XXT CHAAACTEA 


■LtC A/ 


so 




STAA 


O.A» 


SAVE ABSICNXO BTRCAC IN TABLE 


I'M ' Si 


OD 




CMPA 


LAOD 


FINISHED » 


Btro 27 


,? 




8E8 


DUNE 




AE», "A 






OtCB 






BEF3 JA 


F4 




ax 


EOLODR 


GET BOX NORt 


HIM* 


00 




LOAA 


tSOO 


FORCE CR 


BEF7 A7 


so 




•TA* 


0. t. 




8fr9 80 


F8A3 


DOX 


JSR 


CALF 




8CFC 20 


S3 




BRA 


OISPLAV 


•NOW XU EMTRV AMD NAtT FOR R OR 



bPEl IF IC EOUATtB 



0018 LlXL IP*i 
0O09 TRICCA E«AJ 



• TU* EOUATtB 



LIHE LENGTH i INCL CR» 
tab CHAHACTER FOR TAlCGtR 



BEFt 8' 

•TOE Bl 

8F9J .'J 

sro? $i 

BfD7 23 



SFOt C4> 
BF10 SO 
BFU 30 
BF1A 8F 
BFJA IC 
BFIA 39 
BF19 1A 
BFJ8 39 
BflC 34 



» THIS AOUT1X VALIOATCB THE FKCV NLmBCR 1-9 ANO 
XTURHS THE ACTUAL AODREB* Of TX 8TAIX IN 1 
IF VALI0A7IDN FAILS TXN THE CAARV SIT IS SET. 

'ALIO STAA FNUH SAVE FUNCTION MUr«D* 



C9VA t'9 

BR] EISA 

SURA «'l SET TO ■INARV-l 

LOI ETABLE 

• RULTIALV A Bv LiXL TO INDEX iNTD FABLE 

• THANES >UR A809 

• TXN AOO TO F TO POINT TO ENTRY. 

LD8 ELtNXL GET LlX LEXtN 

mil A»S lp 

LEAF 0.* I.1«D 

8TI iSAVtl 

CLC OK 

ATB 

SEC NOT 08 



'68' Micro Journal 



BF1E ft* CCO0 
BF71 SO il^ 
SF--4 3S <*2 



BACK 
OUTPUT 



i TABLE W PRESET C <J "J*4<4gS 



bfj/ *■• •• 


>? 


roc 


/OIR/ 


■ir* DO 




re* 


40 


•rat 




OAC 


I'l.lfttfL'TAftU 


NV K4V 


SJ >4 


• ec 


/LlfcNW 


Sf 42 2C SC 








BF4* 00 




FCO 


•0 


*>' 




■.*.<. 


:«LINEL« TABLE 


84 S? 90 44 


4* 4C 


rtx 


/PofL»\r 


4F** 3C SC 








4fS0 00 




ics 


•0 


■F4I 




ia-i. 


3»*LI«L*Ta*LE 


ttfcf 45 44 




rcc 


sCSlT.W 


ir/a sc sc 








•r/* oo 




fcb 


•0 


#b/ 




CMC 


4«Lr«CL»TAftLC 


«r«r 4i sa 


10 «? 


rrc 


/AWu. W 


4*4* x sc 








DtOOO 




rco 


to 


Kvr 




[»!. 


'*t|»4L*TAWl 


(tv| 4 J 41 


so sa 


rex 


>SCPr ( 4. >.\/ 


WAJ ?C *4 


7C 3»J 






M */ 2C SC 








WW SO 




ret 


40 


*f»/ 




OKC 


t'UNtL+TABLE 


aFB7 44 49 


*2 ?C 


rcc 


/•IRiOi 104/ 


9f»9 *> SC 


2E 4a 






bft# 4D 44 








erct OD 




FCO 


to 


E'F 1 




o*c 


fllXLl,*rAhU 


•rcr 40 41 


M) 2C 


fCC 


/HAP.\r 


WW SC 








**t>4 OO 




*ct 


«• 


&f */ 




on 


■ •LINCL4TADLE 


9fZ? 42 41 


S3 49 


f*x 


/BASIC/ 


arts 43 








BF EC 00 




rco 


40 


■rrr 




ORG 


V«L[«ftt-»TMU.E 


bfff oo 




rco 


40 OUTtW CMO 




COOO 


PRDCCNO tow 


• sttmrr of of ft me* 






• nomi/v h£nai jn rLtif to allov ro* r«£v 


CC2» 




ORC 


♦CC28 NET«ND 


CC-/S BESS 




tOB 


start t 



iJ*oiii» Dt tilth* 



OACJ MOO OO^WZ BCIC 

DIEPLA SCSI OONE BCF* 

UMiT BIO] ERROR tf!9 

flag Bf/s r*r bcm 

LlNSL 0*11 O/TBVT FOSS 

MtQCLl t'lAA RETURN *t4/ 

TABU Bfr? tWAPl SC/4 

■S*Vll Pi'? 



CHBNIT SC»S CBCT ID*/ DISPLl PE9C 

EOIT BtAS ED1TCI Bt'C COUXB> BCE9 

riNPi ra»9 riMpj cooc finpt •»> 

funott B¥*© f nw i cuoa input ro-4 

occ4 p«julln cooo proq. oiaa 



CJ2I l* 

ClJO F> 

ClJB BE 

C|3* h:. 

ClJ* 3* 

CUB BE 

C13E IK 

Cl*l 7t 

C141 

.. ;+■ or 



1« 



ML 



C14A 24 
CMC 20 

C14E A4 

t.ir.1- »i 

C197 2* 
C1M BC 

cur V 

til* C* 
CISC M 
Cl»D OF 
Clio ?* 
CI 43 2ft 
Ci*3 ft* 
C14? Of 
C16A *7 
C14C BO 
Cl*r 2* 
M". ft 



42 

C1B4 

Cl»2 

00 

ma 

£104 



C102 

Cl04 



C1B7 
ClM 
CC 



0404 
09 



ciT4 oo coar 

CI/7 00 0403 

cir* /c cpoa 

C; *l> «*l liB* 

t-l#i DO COIE 

CIS) 70 tO 

C1BS BC C19E 

ClM 20 F6 



ClM 4C 45 99 » 

Cl« 20 »4 44 41 

ClW 4C 20 29 20 



LOO t* Ll« COLMT 

STB LlNtCT 

• fcEAO data rnoi P!8« imtd table 

POINT TO rCB 
CTT CMAH 

«E*T POSITION 

cxD or ti«c ♦: r 

PUT IN TABU 

CTUtt *U POSITION 

CR t 

FILL TO [« OF LINE MlTM CR 




GO LAST CHMM 
BOiA BE CR. . 



err btart or kit lj«c 

OCT KIAOy FOR fCJT 1.1MC 



OLMP COMT 

OB TO CONTINUE 

CLOSE Fit* 



C0L4J) Bit SERIOUS 



PROCCB»lNC 



ERROR 



BTA«7 KM START 1 BC40 
TRltCR OOO* VAi.10 



START2 SECT 
xSAvE BE/0 



Cl«4 4* 


4E 


54 


92 




C141A 4» 


41 


W 






tUD 04 








rcj 


Cl« 4C 


49 


4E 


49 


NBX22 rOC 


C1A2 20 


31 


U 


M 




LIA4 TO 


4 J 


*n 


*i 




** 42 


#J 


• 1 


N 




CtAE 41 


»2 


»J 






ClOl 04 








fcb 
• data aria 


»-. 








fOFtlM RRB) 


CI 04 








EOTTAB RRB) 



JW RPTERB 

JBR P«CL8 CLOU *U TILES 

J«P HARnS fit TUB** TO rLEJ 

• THE FQLLOVlMC ARf BX3FT ERRORS 
(RHORl LD* IhSCl 

ERREXT JSR BTRfNC 

BAA EM>J T 

KRR0R2 ton UR£7 

»na CRftiJtr 

• CRROR nCSSACE S7RI*C 

A«Cl FCC /LESS THAN 9 ENTRIES. 



/LIME >24 CXAAACTBRS/ 



END OT CVS«NT LINE 
EM) Of TABLE 
ME*T TAJLC E*TW¥ 
LINES COM? 



riHUOAS FLElOO VCRStOJb 

tm 



f|MLTLO< II » LOACH A 

• AUTX3A * OAVIO V, COAQOv 

• CREATE i 4/»/«© 

• EOfT . l»/»2/Ap 

• MLEHA«1* j4.rUNLOAC4,T«T 

• VERSION • i.J riJl09/FltiVO9 V 1.3 



RIBt OETICTTO 



CLffPQS C2B4 CNOIT Ct*S EOTLtN Cl»2 EOfTAB C1S4 EJBttlT C1AO 

~ tl/4 ERROR1 CirO (RRESta CIS) FCB C««0 fm 0404 

0*0J CETT1L CD2D LINECT CIS* llNEi. OOiS LlMZMEt Cl4£ 

"SCS Cl*l R£Al»> C433 RPTERR COOF SETtlt CD33 
STK1IC COIE 



BTART ClOO 
vw CI 02 



•TARTl CIO) STORLR Cl9B 
COM 



F2/ 

0O14 



• TMjfl PROGRAM riElOAOS TM STRING TaSJX IN TX 

• FUNCTION KEY ROOULE HfTH A SET OF PREOErJNEO 

• STNlNCS FROM A TCIT riLE. 
* 

. COhnMta rORRATiFLMLCUO.TEYTrrLENAflE 

• If ANV LtNC IS TOO LONG PR TM£rI ARE LESS THAW 9 

p FNTAIES Oft THE FILE TiCN AN CRROR n£S6ACt JS OI0Pl.*vEO< 

• THt FILE CAM BC CREATED US INC TME EOfTTS* AMD 

• CONSISTS OF OWE LJMT PER XEV 6T*RTIfC AT *EV I 

• SPEC! L EOOATtS I REFER TO FXEY LISTtNC 3 
4SF2/ 



TAOLE 
LtftCL 



CPU 
SOU 



T**LC •AORXSS IN FC4CT10X «Ev NOOU 
LINE LENCTV 



BBM 

Ct>7t> 

Loir 

04O2 
CB3> 
COlC 

ClOO 

CiOP 20 01 
C102 03 

CIG3 SI LA40 

C104 BO CO20 

CIO* 29 ** 

ClOO «4 Ol 

ClOO *r S4 

CVOt BD £033 
CJ12 90 P44>4 
Ctlt 2* SO 

CHI BE BF2/ 
CUA SF CIS* 
CllO 10SE OOOB 

C171 10BF C1B4 

CI2S BE B It 

C12S C4 IS 
C12A 3A 

C12S ST C1I2 



> rui cohates 

FCB EOU 

rtm eou 

WARMS EOU 

CETt I L E«W 

MPTIRR IOU 

rmns i+> 

WftJT IOU 

VTKIMG IOU 



•CO03 
VC02D 
4C03F 



8VBTXM FCS 
FLE* ENTRT 



START 
STAWT1 



res 

LtM 

JSR 



•COlE 

•ClOO 

•TARTl 
3 

*FCS 
CITML 



El 
. ■ 
SJCTtlT 



-L FILES 

SET E i TENSION 
PRl»f» 8TRIAC 

TRAAfilFATf AREA 



UBX BVSTtM FT* 
CET FILE MARC 
DUFF MAME 
OPSN FOR READ 
PUT jMTD FC» 
SET TO .TIT 
OPEN riLE 



- SETUP TASLE PARAMETERS 



CET TABLE LOCATION 
1ST CHAR OF 1ST LINE 



L*v 


('•LINE*. 


LENCTW OF TABLE 


BTT 
LDE 
LOS 
ASM 
STl 


IU#T** 
ETAflU 

4L1NEL 

tOTLTM 


END OF TABLE ♦* 
LENCTM Of SINGLE E«TRT 
END OF FIRST LINE •* 



Ht, Don WllllABA 
6S Hlcro Jovrcil 
3900 C«tttn4r- Smith 
r.O.iom 649 

IliBoc, Tb. J7343 



Dtt: Mr. WHIIibi, 



>033 H.Stn tabrl«l,#2« 
tontfitf, Ca. 1770 
19 Oct. 19«4 
Ste-2BO-«377 



1 xmm6 wlcti iattrnt, and ipit •tviiiiet, jour rivlit of "Flrt 
la est Vtllaj*. It la mot too ■iirprlalag tbat tbe book 1* aa 
liiecvtttt. My okiitvitloi la (kit ilaoit all prlatad aatarlal 
coacaralag tlcrocotpitt ti ibirn till faalt. 1 ltva aaar a vary 
larga boatiaallar ••« alait It raftalarly la bppaa of (laSlaf 

mvi 41 Joareal* ef ^blch 1 bava avar beard, aa wall aa aaajareaa 
baoka oa tba aabjacta •/ aaft- aaal bard-mri. lacldaat a 11>. 
41 J. la cba aaly aafailaa ca whlcb I aabaerlba alcboafb 1 do 
laaf cbroasb abaat twaaty aacb saatb, 

Slaca 1 bava vorbad la alactrealca alaca tba aarlj 1950*i aad 

••*• baaa lata al c rocoapuc lat alaca 1975 parbapa I could ba 

parailtlad a law coaiasti oa cba ataca of tba al c Focoapw 1 114 
world. 



'6$' fVKcto Journal 



47 



It ■■•■• ts a* that lb* *»»ll*Mnf tadualr* tin pvrfactad til* 

alcbaaical ■tract* *f oat at a, aad »■* pf«vta«jaly 1* til* daaala 

ol goaitaanta, vblch la tba tuttU| Of. papat lata aoaiy ill tba 
■yplicitiDD of lak. ivldaai ly tb* aala purpoa* of tdii «i|iilnti 
1* to **11 advarllalag aad iviatvill^ piolucti. rithtr tb*n 
balag coaaltied Co tba d linalial loa ol vtilul laloroatloa, 
float ol cb* publication coalag lac* ar vlav cootala aotblog ol 
aalua, aod tba balaac* coaiala Hill*. gaaa tba advari 1 ■•■•«(• 
aaldoa daacrlba Itaaa adao,uitil7 aad ipii ol cbo* 11* autrlgbc. 
Parbapa cbla ta tori a cooooot oo cbo praaaat day coaputarlat 
ratbar ibaa cb* ■•••(.ccvnr. aad publlahar* aa v looklog tbro. t b 

•7 coiloclloa of old oa«a«laaa 1 Had a auch aon coaaldarat* 
approach. I think that ioat*h«i aftar 1*74-7* th* taduatr? 
griduatad troi a aataaalaat »mpotn i« a tttHttlil, dollar 
drlaaa approach Co tbt 11*14. 

A *l*ll*r craooltloa cook place lo ihi poll VU2 day* ol Hit 
C4di*. Vltb tb* r*U*a* *l «" »*r*lt* raLatad **alpa**t ai 

vara Cull ol arilclo* oo coaaaraloo aad «•* al aacb a*alp*a*l 
•• wall mm ac ratch-bul Idlag (backlag). Tbla parlod o( lacaraac 
vii aaty laporcaat to cbo prograaa ol alaccroolca la tb* G-S. 
ii mmmj ol ao. ayaalf lacladad. caa* l*to Coaaarclal alactroalca 

or 'mlor-iHi" aquipaanl 10 th* atrial, aad tbla pirlod airkad 
a dlatlacc cbaaga 1* lb* aagaalaaa. Adaar c laaaoata for factory 
agalpaaat baga* to crowd owe artlclaa, **d cbo arilclaa cbaagad 
lo doacrlblog uiii lor ao,ulpaa*t ratbar lb** coaacraccioo **d 
aodldcat too. 1 rogacd cbla aa cba dlract procaraor Co tbo 
Cilia*** ***d craaa aaicb raducad aa lataraatlag. adacadoaal 
hobby to a punult far laathar luigad laaadartbala. Tb* reaall 
«aa cbai aaay ol tbo aaaal acturar a vaac oat of baatooaa aad 
aaay ol cbo botbylata did llhowl**. Today Haa ladio 1* •• aapty 

coaputlog (laid, 11 o*ly cboao dlraclly dollar-drl mi ara Co 

weald ana c* ba aooopall oatloo ol iilotaacloo bacaaaa ol lea 

aalua. Ublla I do aoc docry coaputar gaoaa, aapoclally of Cba 
alaulatloo typa, I laai that oaalowo prograaa la cba flald 

*y*t*a* t aad application prograaa coaatltatal ■■ alaoar 
lap aaa ah la black far aaay b*aby coapatariata , it toy ha 

aaab a taab I caa nitit jo* tbat tb* tacbalfaaa caa ba 

ogly aay ta atcaaolac* *aff lalaat kaoaladga to oootot **• 

la haildiag a "draaa" latarraca bat aacb at at l tad* ta dwa (ba 

aaaaractarar aba aappllaa aaab laloraalloo wlcbooc coy daaar 

a*lla uaraadabla laraa cap la* *l littintt. una ah la data* 



11 cbi lucura ol olerocoopue log la to follow cba hlatory ol 
Cbo ooca prood aotoaobll* ladaitri a* will aooo bitt cbraa 
•r loar aajor ■«■«! acturara lalt. aad «■ will all b* lb* 
pooror lor it. I hillaii that cb* aaglaci ol cba 660* aad low 
tha 44000 la dlraetly du* fa tb* pi ifaiiiraiet of unlvl data 

1 aoat tbaah tbo*** aacb a* year**lf aad T5C f ah* wndarataad 
tbla oood ood attaapt Co 1111 II. 1 coo ooly ucounii you Co 
aatiad your olforca la tbla dlraccloo by yoar raalava **d 
crltlcliaa ol ttuiptm aad prograoa ta cba 64XX flald aad aa 
balplag to aalataia a blgh aiaadard ol aacallaaea la kardvara 



alaearal* fawn, 



mXju%^\J^ 



H» J, train lb 



ol cb* fttgltal Srataaa "Qalhoard". Ic 1* *oc will 



ilt troit iv* to tha Cola? Coaputar* 



9km Paacb fload, 
aaefclaad, to 
*•- Zaalaitd 
Phaoa 6l~*.b*a?*i5 

69 Klcri Javraal 
P.O. *n 61* 
Hlaaaa, T* )?>b> 
0*a r lira. 

Ibacaatl) 1 coaplata* tha dinffl if a 336k dfMalc Ha* board aad 
taauftht that, aiaca thara tniM at*«y hardmrt ara^icta ta jraor 
awbll±«il*e. It aay ba aottabl* tor aabl4<attaa. If yoa aa dtiln 1 
oowla mrrmn%m ta aaad y«u a caaalatad aaa far avaluatiaa. 

Patailai tha board it daaifaaa I* la on llfea ^*6«k. blacka .llathar 
than a«ka tha l*|lc daalga difficult tt hii dacldail aat ta aaka tha 
board loak Ilka 8a3?k blacka or 1b«l6k blacka . It can atari Q* aar 
6%k baoadafr witbia tbi Ofbyta iddrvaaiag rang* of mmj bftO* aya|«« 
wltb at«pplKk4 rmm. Tha aol y watrd bit la t ba da lay lina vbtcK la part 
■wbir With 75. avatlabl* fr«a» lft«taairad Caapaaaata Caap*ajr. »fl0 
tacraaaata firm, P.O. Boa I, ban lata Obitpt, CA *>bo6. Tha phana 
auabiri ara < 6©> ) ?kk-3«O0 ar <$0O) 259«4v4k. Tha prica «n iragad 
tll-tll tha laat 1 baard. aaarda mr* laailibla fraai aa it tha aba*a 
odaViaa far $6) U.I lacludia* ablpalat, J only a>ll baarOa.aat built 
up aaltt •• »h»* pri^ict «pib daaa far tha lacll 6aO* caaaaoally aad 1 
*aa« I arrard ta boll* tb«u> ap. Ummwvmr t»a baarda mrm aaatlabla ta 
tbaaa »ha w«*t ta build ap fbalr aw». 

Tha alrcall fa iiclaiid aad tha aat up datalla ara aa follaua, 
1) %i-*k tit tba barriaa. all *p*a ban rooo.rrrr. Kb eland ban 
goco»rrrr 

I) »9.S& aat tba lab Marl ,4ap* a dt* B aa tba aattlag if th« l»k iton 



tl*aly 
r «4Jb 



Xll apa». atari at 10OOO, «.O00O,9OOOJ, 0OOOO 
alt claaad.atart at 10000,40000,40000,10000 

g? «l*iid v *i*rt «t soooo.yoooo.goooo.roooo 

3) Uaki a«fi ait tb* 336b atari OOOOO.lOOOO.gOOOO.COOOO raapac 

Tba P**«r la arraagad by laviatlMil m«m. Aacb aaak 
la »aa*r*4 by a 7*03 wltb daaavpllbg c*aa*lt*ri af tooap par M aar T 
ablp aad lOuP bulk aacaapliaa, Tba laglc la aawarad by althar mm 
LM >0t ir LN393 with plaaty ar lOOaP dicaapliag ciaacltan, 

Paapla aalaa Ihlta ayatua* «aa aaa 14 aarlaa TTV far tba ligta. 
Tbaaa with XJaHa afitaaM paat aaa altbar i aartaa *r P aarlaa TTV aa 
|ba« tba ail ap tl«a n*alr«d by tba 640*. if f*lfUlad r 

at tba nailt thara ara II af tbaaa baarda Im aaa la ba» 



68' Micro Joomar 



l«aland, ao J fe a l)#vr \h+ «••»!* la raltatlr. If inyen* 4oti *ant to 
&*»• on* tha board* ar* «rd*r*d •« ord»r« ccmb» tn ao It nay t*h* *«■* 
«••** to fulfil ©r<lar*. ?t)T"»nl autt t<« mith + r by cS»ih,t»ih or any 



*h* circuit la «nclo**d for you to publlah If you *o Oaalra. 

I cpitiidir your a*|t»ln« axcalla&t *«lu» for annty with aort 
ajaaful irUclti than natty othar ■•|tilD*t. i-on*. *>*y you. k*ap 9 p thr 
good vork. Coaotolt on 60ODO-- thla ceajputar 4eiin< I raally fit In 



ho*' tOaputiri « at laaat in thia country, biciyif of coat and lock 
or an iitto«l»t lortmri baa*. Ko»*»*r I o*tlclp*l* that thla will 
Ch*nga aa aillcon a.nd hopafully. oofuori cool* fall. Until th*o 1 
r*ol that th* lovol of *wppori you iiv* to th» 680OO la i4i<l»it». 
viable* you luck in th* Nturt, 
*#**r<S- 









£*W tP*l*Sl Of VT 
i Ha* vk* 

M«*t ItJtO MOTotfll*,, 



U (»ti <* 

" IAkU) 
tLOtJC) 







[2£&K DYNAMIC RAM_ 



^T^ 



ft] 



HI 

HSJr 







a At *jm ***i*» aioj#a*n >ntu .y _*um 



74*1*1 



■-ViiOL 1U% 



V 



_*L LI II 

Irs rtri 



f¥ff 



^-a, Tfl KftTTi OF ffTHLI »MFFtS 

HCI-HA (I H* **>* tux*) 



2S&L DYNAMIC RAM 

^^7 



'68' Micro Journal 



49 



LLOYD I/O 

I «»)9 NE QU*AN 

fO«TL*NO, 0« 97230 

eiot cohputiii lomvAiiii 



<5031 6 66*1 D97 
K01TOM4* AlltMBiMli COMPILIRS 



Hoveober 2, 1904 



'66* Micro Journal 

Don wUUadb 

5900 C**ean<Jr* Sojith ftoad 

Htxon, TK 37343 

D«»r 6609 Uatn 

Tb» follow da nines are uaad «xcluBlv«ly by LLOYD 1/0 44 
tradABarXA of LLOYD 1/0/ 4 computer software home and consulting 
aatvlce bualaass. 



CRASM6 


CRASHB 16.32 


K-BAStC 


KB ASIC 


to 


ED/ ASM 


ClUCKfA 


tSM 


05.H 


LLOYD I/O 



Tf»a p*§t u*«i of theae q<m«i wert understood to havs bten 
tr«dtAArked by LLOYD I/O and were asauned to have bsaa 
ttadaft*rKad all ths CI**- 



Tba ut« of Chaaa runes hereafter will bt uaad by LLOYD I/O 
referring to eoaputer eoftwsre developed by LLOYD I/O. Th« ru 
LLOYD I/O will be uaad by this buetn«a Id referring to iteelf , 



In 




Sincerely your a j 

Frank L 
President 
LLOYD I/O 




Soelooed La % eoop of • lim ii I t vnft* for «p 868 0CB*a.5l. 11 it 
mi BltarAAtlv* to SK, I (Single 09 •* Cow) t* be *•*<* «1*on a mofeer of 
ftloa ivd/or 1 Miote eoploe. 

fb* STOftT^ ^elea tAvsca\s7> fcU rlU» and c pwnd« la the disk 
41_^CU»7 a»4 Mil tho n»w if each I howl 4 bo copied. The p r <«rA reopOAOft 
to T or V oaly; lev other r«fPOM« will reeult la the queitlao being Mhed 
«walo* ir the file alre*4p «Ki«te 0» the t*r«*t dlM, Uvo *»#r i» 
Hfii— 1 o*4 too prorate, eootisuoo. TMe pmeroo i v oy atyl* or praerioalnr 
<BoVto Pare*) «e4 1* SOt on **»»pl« of «fftcl««*T. Hooverr, Lt toorfc* 

OM adto. the eall l»Mt tot i«wv SQC.I beceuee 1> no flit t»eo* 
U oocinao ep4 7) no BBQI7 limit ceo be entered. The o moujj Holt le 
oeewed to bo lA (oWOOO) but cos be cAo;v£e* in Jin* 16* . 



Slororolt _. 

?*•*■.« WLlArood La. 
Sreorrtoo Ve. 98310 



Ii 



1AM 8EPOU i 



3: 

• I • 

3* • tsaablxst nimii to obttjdoblt oopt ox a 

6l » STBTW WITS OSU OO USX OSJVT 





7! 

6i 
10 1 


• 






i 


i* 


tlKO 


Wit 


tvAy 


TUf 


Hi 


mrrcf nit 


r ;■*•- 




TTil 


Ut 


COOl 


t«l 


sn#» 






13i 


nfAna 


i BXJ 


•rrt* 




TW 


1*1 


om 


■QW 


ITTW 






15t 


ca«T smu 


ST7A6 




SB 


l6i 


Mvro mu 


tr?« 




0100 


18« 




OPO 


toioo 




oioo a oaw 


19» 


ftTAirr 


UB 


raos 




0103 BD 7246 

oio6 tf oioi 


20i 




JSP 


KOHBT 




21i 




a* 


fOWJ 


«r wit mm - o 


H0| ik M 


»i 




UkA A #10 


BRW DlKCmoT HAS 


0101 IT 0)06 


?3i 




OTA A 


n» 




OiOI » Q1B 


?*i 




it* 


fILOC 




0111 TT 036D 


«i 




cur 


COUNT 


odist - f of raoR nusi xshialu 


011« 66 OS 


26i 


tOOfi 


LDA A #11 


RtAC ra 


0116 TC OMiO 


27t 




ISC 


ODOST 




0119 IT 0JO6 


20) 




STA 6 


ra 




one u oib 


29i 




/SO 


nLoc 




out ■ oni 


30i 




ua 


f»01 


FKJoT "HlSl" 


::. m \*t 


3ii 




/» 


carter 




0123 SSOtlS 


32i 




•ss 


rsTUn 


tost mz »Atr 



0126 CX 02T9 


33 1 


LOOPS LDZ 


rwo2 


ASS If IBfl wlSRES TO COT 


0121 00 T2A6 


J*i 


JS1 


lObTSt 




0121 ID 7269 


15i 


#81 


ZJBCB 


AWES 7 OS fl 


01)1 16 


36t 


P5X i 


I 




01)2 CM OZSA 


37; 


LIS 


PCSLP 


PIQB7 CAJMAGZ RETVBB / UBS FBETJ 


013*> SO 72A6 


Sfli 


JEX 


IfVTST 




0130 37 


39i 


FUL 4 




0139 81 *K 


*0i 


OS* t 


1 #♦» 


IF "IT. WAD BEST FCB 


0130 2? 0T 


lilt 


am 


IOOP1 




01)0 01 79 


62 1 


Of A 9*X 




013* 26 17 


*J* 


BSE 


LDOP9 


IF SOT ■**. ASS ACAIB 


0i*J d 03AC 


661 


LDI 


/#1LS 


tF •**. roIBT TO SBJXSSTBG 02 STTJ 


014* 06 0* 


*5< 


LDA 4 *6 


(XTT RLE FOP WXAD 


0146 IT 0306 


661 


8T4 A PCS 




01*9 OO 01 ZE 


*7» 


J4h 


nw 




01*0 K OS 


46i 


IMS #9 


S2AO TKM FTLE 


01*» 17 0306 


Wi 


STA a r» 




0*51 SO O2«0 


50r 


RTOAGB #0(1 


PTLW 




0156 TO 0261 


51i 


WT 


ruo 


a© cf n lit 


0157 26 13 


3*T 


BS3 


BXtrts 


rss. ssascx 


0159 SC 026F 


53 1 


<n 


MDUZ 


Amu uxrr iSAaxxrr 


Ol$c 27 OJ 


5*i 


SBQ 


MDOl 


TBS, dKASTS 


0150 A7 00 


55 1 


ST4 4 0. 1 




OlOO 08 


56t 


ISX 






0161 20 KE 


57 1 


SPA 


RBH4JS 


IF PXAX> flUCCSMFUL, MAP A0A11 


0163 CX 02T9 


S81 


<4t>«As ua 


#»«o8 


PIC ST "*D»*T LIMIT* AID BBB7AST I 


0166 BO 72A6 


59t 


JSR 


XOIfWT 




0169 TS 0207 


6O1 


#}•? 


COT 




016C 77 026s 


62i 


■OCLO as 


ruo 




016> 09 


63 1 


OBI 






01TO WW 0*61 


6%t 


6TX 


LAST 


STCW 4SB0BB OP LAST DATA STTf 


01 T3 86 06 


65 1 


tiu * 


I #6 


CLCSS Till 


01T3 ST 0306 


661 


STA A ffl 




0176 SO 01B 


67i 


§m 


Fit/* 




0171 cx oaflr 


68t 


Ltf 


AVQ6 


TELL USES TO OUKX OSSESTTV 


0171 SO T2A6 


69t 


JSB 


tOVHT 




Olll BO T289 


TOi 


JB1 


Z2BCBT 




01A* CI 0216 


Tli 


UK 


FOIL2 




016T D 7246 


T*i 


JSf 


ta/TBT 




0104 66 01 


T3i 


LSA A fl 


OPES Pill: FOB VIOTE 


oiftc it 0306 


T*i 


it! A fn 




oisr bo oin 


T5i 


J8B 


FTLOC 




0192 TO OZ6S 


76 1 


T8T 


FL40 


os sstvss, am fuo 


0199 26 15 


T7i 


BO 


/LOSBT 


1F4SCS IF BIT 


0197 66 02 


76i 


LDA A 


#2 


IF BOT. HSTiS 1 TO WQTE HIS 


0199 17 0306 


79« 


sta a ro 




019C CX 03AC 


0Oi 


LDI 


#nis 




0l9f 46 00 


611 


VB7A01 IDA A 


o,x 


(Z7 orrt 


0141 D 09i8 


621 


#B1 


RUM 




0146 IC O26S 


8)1 


CTI 


LABT 


EIP OP DATA1 


OUT 71 02 


6*< 


SJQ 


VSTOB 




0L4ft OS 


85i 


1ST 




bo* costibis: 


01AA 20 n 


86i 


MA 


wfffAOS 




014C TT 026S 


6T 


PliBBT cut 


FL60 


FJSTT riAO 


oiAscsan 


6A1 


LBS 


MI07 


TXLL IBEX FT LI AUG" AT* IJJS1B 


CIS? SV 7246 


89. 


JEB 


WSiTST 




0115 Tl 0106 


90i 


Jpf 


BBXTST 




DIM OX 02A0 


91* 


VSTOA LIZ 


«M05 


PS3BT •Til* O0P2KJ* 


OlH 10 7246 


92i 


#ss 


SOWTST 




OUT 86 03 


93 1 


UkA A f 3 


CLOSE Fill 


0100 17 0306 


9*i 


STA A 


FCS 




oin c c is* 


99i 


Ml 


FT tOC 




0106 CI 02BS 


96* 


BBSTST IDS 


FIC06 


tell om to psptsrr sapa nss 


019 BO 7246 


9T« 


#BB 


SLVBl 




01CC SO T26t 


98i 


JBN 


tlSOB 




OUT CX OZSA 


99i 


Li J 


reus 




OUt SO TZ46 


100 1 


m 


XOVJST 




0113 16 O26I 


101 1 


LM S 


•i inr 


OZT tf OP PCM ALATAD BXAD 


0118 86 04 


10ft 


LOA A fie 


SSTtF SmCfXP) FSAl 


0114 17 0306 


1031 


BT4 4 


FCS 




OIJB BO CUB 


IDkt 


#ss 


FILOC 




01SO 66 OB 


1051 


LDA A #11 


RAO RBBT PCI 


01B7 BT 0306 


IO61 


STA A 


FCB 




0115 B 01XX 


1OT1 


LOOn JBN 


FILOC 




01BS V 


106 1 


SCI 






01» 26 #4 


109* 


BBS 


10013 


LOOS TBPOUOX FOB ALflPAUT' BIAS 


01SS 71 Oil* 


UOi 

112i 
113i 


#}•? 


lOOPl 






• BOolOVTlBl 90 ORB ASO CLOfl PTUV • 




U61 


l««X4M»l, 


•VMIMII 





FF 0269 I61 PILDC 
01P1 36 117 j 

AlPl CX 0306 U6l 



01P5 10 7T66 
01F6 27 16 
OLFA A6 01 
01FC 81 06 
01PI 2T 15 
0200 81 02 
02O2 27 09 
0204 BO T2A9 
02O7 BO HIS 
09Q1 71 7263 
0200 TC 0261 
0*10 PI 0769 
021) 32 
021* 39 
0915 CX 0281 
0218 SO 7246 
9?1B 20 SA 



U9l 
120 1 
121t 
1221 
l?3i 
126 1 
125i 
J26i 
127i our 

126 

129! 

IJOl «K 

lUi 

I32t 

I33t « 

13*1 

135i 



LfiX #TCS 

#8R DPM 

MQ OK 

LDA A 1,1 

CMP A AS 
FJR EST) 

CMP A #7 



JS« 



savc rim no 



OT 1 



rnrros 

CbFK 



tsc 
lox 



FLWJ 
SATI 



PM5 03 
20VT8T 
OUT 



DTK 1/0 BMUD7 

rrrnm it bo ebbob 

OST O6V0 BTATW OO t* 
(XEOt FOB ESP OP DTMLlVPf 

CXXDt POP "ntl ALFXASI STJSTS' fPJBS 

PB1IT ESTOP 00tr ( CL0Sr PILES, WSTAPT 90S 

SPT PL40 IF FIL8 ALPXAB XEXSlS 
PPJFT *ES0 StPSCrOST* AST) EXIT 



137i 
Z3Si 
I39i 



• -.-* *- ; ^ T • 



I P*'BT FTtS BAMI 



0711 FT 0269 
0220 06 06 

0222 a 0309 

0225 A6 00 

022? 10 7266 
0224 08 
221 5A 

029C 26 FT 
022X86 2X 
0230 IS 7266 



1*1 1 FXFB46I STX SA rt 
1*21 LDA 8 «6 

l63t LOX ^F<Se3 

1661 PBLOPl LSA 4 0»X 
l»5l •'S* ZOVIIK 

l46t 1ST 

l*7t ISC 1 

1661 biz rnopi 

l*9l LDA A 9 * . 

150( JSP ZA7TB 



SAVE ISDXT BJtO 

FSJBT FTS37 6 e*AX6CT*JV 



FBJST TEriHAL FT 



50 



68' Micro Journal 



0231 at 03 


151: 




LDA » /} 


PttPT fTTUBKJl 


0233 CS 030P 


l»x 




L2» 


pro** 




00)6 Aft 00 


1*3 x 


nun 


LDA 


I o.x 




023A90 7266 


15Ai 




J8H 


ZOVRX 




OSJD 06 


I»i 




tn 






0931 >A 


156* 




«CI 




on/ 2ft r? 


137 x 




ntt 


PWUT7 




0241 a MIA 


1)4: 




unt 


PCJQJ» 




0?U 10 72A6 


139 x 




JU 


100T6T 




»*? 39 


lftOt 
lft2i 

IftjT 




PTO 








■ IIUMCiUTin TO IHA& Am* WHIT* PI Ut • 




1«^» 










0246 rr 0269 


166 x 


fllMt 


8T9 


6AVX 


8AVT rPttl MO 


aa» a 0306 


167: 




IAI 


ffpa 


1LU) AttBBBB PT PO 


aevc is rroft 


166) 




JOB 


0PM 


0PM J/0 BB*9»T 


02)1 27 12 


lftOx 




APfl 


wot 


RITUB IP 80 DMff 


0233 A* 01 


170 1 




LDA 


* 1,1 

1 #6 


OKX POP IPS OP PIU 


02)} 01 Oft 


171 * 




av 




0257 27 09 


172 x 




BOH 


DDR) 




02W IP 12*9 


i?3t 




J6R 


mm 




023c id 7763 


17V t 




JON 


CbfH 




02*9 71 7563 


ITS: 




J* 


nruoe 




02ft2 TC 02ftl 


176 1 


SHAD 


IPC 


PUG 




OJftj IX 0?ft9 


itt> 


HHV 


LCI 


SATZ 




024ft 39 


176 x 




BT8 






02*9 00 00 


160* 


BATX 


POP 


0000 




0261 00 00 


I8li 


LA0T 


rn 


0000 




02ftO 00 


1621 


cowr 


ra 







0269 00 


1831 


PtAO 


pa 







026P kO 00 


164 x 


HBOC* 


no 


AtOM 


16E nbjutt atouki 


0271 20 


lftjx 


moi 


PCC 


/ nizt / 




0276 00 


I66x 




pa 


a 




0279 2© 


I07i 


IBJQ2 


PCC 


/ COJTT / 




0000 00 


I66i 




pa 







02fll t> 


169 x 


MCI 


PCC 




02ftl 00 


190i 




pa 







0269 kj 


l9lx 


WCA 


JTC 


/(Hf2 BQ7JB ABO HIT APT DO 


owe 00 


19 21 




pa 







02X0 » 


I93i «0> 


POC 


/ piu corns / 


029A OA 


19J»i 


OU 


pa 


•OA. 200,0 




O2B0 3? 


19 Si 


XlOft 


PCC 


/Msourr 6oiftci bisx apo hit apt xrt t 


00 M 


I9«i 




ra 







0292 kft 


197 x 


wo7 


PCC 


/niX AUKAOr COSTS / 


02T6 OA 


190i 




pa 


AOA.IOD.O 




OZT5 Ml 


199 1 


wee 


PCC 


/■NKT uxrt/ 


0)05 00 


SOOl 




pa 







090ft 


20H 


pa 


to* 


166 




03AC 


2©2i 


piu 


us 


1 




0200 


201: 




DD 


STAPT 




90 DQt>P(0) DXRCID 









OftfeOl. TA81Zi 










com 


7763 WSm 02ftO 


CXL9 


02BA 


cm 


776ft 


two 


0215 OMO 026? 


COB TO 


0200 


ra 


0306 


PI LI 


03ac nice cm 


nw 


02U 


n-Ao 


0269 


PLAIT 


01AC LAST D26S 


UXT3 


DiH 


LOOP? 


0126 


A00P3 


01Z3 MMAX 026P 


***** 


0163 


•01 


0271 


Ml 


0279 tCOl 0261 


N6CA 


0?OP 


wv 


02 AD 


MBC6 


02SO M507 02B2 


»coa 


02P9 


a 


0210 


our 


0207 ftlftAM 0910 


PPLOP1 


0225 


PXL099 


0230 


RJOA0J 


0131 snap oiftc 


WI>IPI 


01C6 


ppa 


02ft? 


8AVX 


0269 START 0100 


MJfTAta 


019P 


vwras 


0116 


una 


7209 ZOVTO 726ft 


Z0USST 


72Aft 


ZTT7TE 


72A9 


2VAAC 


7563 










Rll! 


QP»*60.352 










OOPTT 


1 










PlUx 


OPV«AO,333 










0WT7 


B 










PlUt 


LZST.I 










03971 


T 










OMPQ 


DltlS AK) HIT APT KD 










PIU ALPEAflT DOST9 










mmpptt HXfro ceL&jr abo bit aw 


no 








PILXi 


80CCJ.BAC 










eofii 


T 










CHAX7QT 018O A9D HIT APT KB 










nut AUBAirr septs 










anm BOMS max abo pit ait m 








PIUi 


OBra.i 










CO PI 7 


p 










RUM 


BOCC3.81B 










awn 


B 










rttit 


XCAAX.3 










COPY! 


T 










OtABQI 


DI8XS ABD MIT APT Oft 










nix oo?ii» 










PDOtvr soiipxa mar apc hit apt 


KIT 








ntxi 


90CC.TTT 










0D9TT 


r 










nuti 


tmz.t 










oorvY 


p 










nttt 


Asm.l 










OSP77 


I 










aula 


VSJS APP KIT APT PXT 










PIU OOPISD 










«KKflT7 k>0VT«CV DI9P APO HIT APT 


PJO 








nui 


90CC.SAA 










1 IT' 













ODPTt 


B 










n»i 


BOOT.! 










OOPTt I 










PI1*I 


fiAVE.t 










OOPTt f 










nil i 


BDSC.t 










OSPYT 9 










HO DIRTRK7 











MICROKE Y 4500 A PROFESSIONAL 6809/ 

FLEX COMPUTER SYSTEM 




■IllfttUIill 



II 



TECHNICAL EXCELLENCE IN A SINGLE-BOARD 
COMPUTER FOR SYSTEMS DEVELOPMENT. O.E.M., OR 
APPLICATIONS. 

BY USING THE SAME BOARD IN YOUR TARGET SYSTEM 
AS YOUR DEVELOPMENT SYSTEM, YOU CAN SA VE TIME 
AND MONEY! 



MKEY Features 

• 6809/2MHz PROCESSOR WITH 128K RAM AS STANDARD 

• FLEX OPERATING SYSTEM OR polyFORTH AVAILABLE 

• ,Mand Stt in, DISK DRIVES CAN BE MIXED 

• 16 COLOR HIGH RESOLUTION GRAPHICS 

• NORMAL, ULTRA HIGH RES AND PAGE FORMAT MONOCHROME MODES 

• TWO INDEPENDENT VIDEO OUTPUTS 

• MULTI-TASKING • INTERLACE MODE 



SPECIAL OFFER FOR LI MITED PERIOD 

DEV SYSTEM 
TRIPLE DRIVE 

TARGET BOARD 
128KRAM 



$1,899 
$450 

SHIPPING AND TAX EXTRA 




IMXXSAND ENQUIititS TO 
MK3R#KEYLTD.96aSi Jama's Street 
BiKJtaoa Sussex. England Tfci 077^72911 




HO is a trademark 
of TecK Sys 
K \S Coi\suiJanis 

polyFORTH is a 
Irademaikof 
FORTH INC 



W WCfO Journal 



51 



Classified 



Advertising 



TELETYPE Hod«l 45 PKINTER - with serial (RS252) 
Interface, and full ASCII Keyboard. LIKE NEW - New cost 
SI 295.00 - ONLY S799.00 ready to run - Call Tow - Larry 
- Bob, CPI 615 842-4600 

For Sale: Motorola 1 28K Memory Boards, removed from 
SWPTC S/09 S 795.00, SWPTC 8212 Terminals Oenistrators 
S 795. 00, Hazel wood Dynamic 6 K Memory Boards S 395. 00 
Call ask for Tom 615/ 842-4600 

SWTPC 6909 S-09 COMPUTER SYSTEM with 20 meg hard disk, 
dual 8" drives, 2 serial cards, and 128k SWT memory. This 
computer Is set up to run UnlFlEX and has been used as 
backup system. Memory needs updating. As removed from 
service. A great buy for those wanting the power of a 
UNIX-like system. 14,950.00 
Call T- BOO- 255-1 582 Ext. 47^ 

FOR SALE: PR-40 printer 560, APTEK 4K 1702 SS50 EPR0W 
board, F&D 1702 proqremmer <uses MPLA) both $100. 
Universal Data 217/1Q3 modem $300, DS68 103 modem card 
populated, never used, with EOC coupler $50. 
Gordon (504)889-1224 

GIMIX 0S9 Lll 6809 System, GIM1X 6809 -*>LUS" CPU, GIMIX 
DMAF2 8/5" DMA disk controller, 192K dynamic RAM. two 8" 
DSDD OUME drives, FAD video, cherry keyboard, 4 1/0 
Ports, Motorola monitor. Very Reliable. Complete 
documentation. Also Base 2 Printer $175. 
Call (312) 382-5478 after 7 PM. 



C0WIUER EVALUATION SERVICES 
Byi Ron < 



Ihm S.E* ICDIA DM slow of i 

PubJIsfclng Inc.. 

Ii offering -Hie tottovlng 4U0»tfBER 

SERVICE : 

COPIUH CCUVtfUSlON AMD EVALUATION REHKT 

Due to the constant and rapid updating and 
enbanchment of numerous compilers, and the 
different utility, appeal, speed, level of 
communication, memory usage, etc., of 
different compilers, the following services are 
now being offered with periodic updates. 

This service, with updates, will allow you wh< 
are wary or confuseo by the verlous claims of 
compiler vendors, en opportunity to review 
comparisons, comments, benchmarks, etc., 
concerning the many different compilers on 
the market, for the 6809 microcomputer. 
Thus the savings could far offset the small 
cost of this Service. 

Many h ave cure hased compilers and then 
discovered that the particular compiler 
purchased either Is not the most efficient 
for their purposes or does not contain 
features necessary for their application. 
Thus the -added expense of purchasing 
additional compiler (s) or not being able to 
fully utilize +He advantages of high level 
language compilers becomes too expensive. 

The folk»lne COFJLERS are reviewed Initially, 
more will be reviewed, compared and 
benchmarked as they become available to the 
author: 

PASCAL T" GSPL WH1MISCAL PL/9 

Initial Subs rlptlon - $39.95 

(Includes 1 year updates) 
Updates for f year - $14,50 

S.E* 1CDIA - CPI 

5900 Cassandra Smith, P0B 794 

Hlxson. TN 37343 

615 842-4601 




NEW 



3T 



OS-9 SUPPORT FOR FD-2 



NEW! 




NEW! 



Run double density on any S-50 6800 o* 6809 computer Who else can 
offer this capability at Ihese tow prices? Tl* FD-2 features 
' Control ol up to four 5'V DS OO Drives 

* SS-30 or SS-30C compatible 

* Use Flex. OS-9, or Star Dos operating systems 

* 2 MHZ operation with no 'slow I/O" required 

* Compatible wtth SWTPC OCl. DC*. DCS. or OGa controllers 



FD-2 
DRV 68 
DRV-69 
DRV-09 
STAR-DOS 



Assembled Tested Controller Card $14995 

6600 doable density drivers ♦ format program $ >9 95 

6809 double density drivers • formal program $ 29 95 

FD-2 Disk Drivers for OS-9 {Source) $10000 

For SWTPC ft FD-2 $ 7500 



PERIPHERAL TECHNOLOGY 



Supplying Floppy Disk Controllers Since 1978" 

3760 Lower Rosweii Road 

Marietta, Georgia 30067 



VISA/MAST ERCARD/CH ECK/CO D 



aoa/973-0042 



*Q%9 is a %t*d*r** s ot Mci owtft and Moicwod* 



K-BASIC 

tor OS 9 * FLEX 
$199 

K- SIC Is o con^tore BAS*C oujT^lei poefcage Including fne com 
pilerrtseW. 1f^a^»rti».dco#nenroltaaondsarrc^P'cOK>T» nfeo 
fures six atomic doto types including root rurbm, stnngs. 8 bit. 16 bil, 
32 brJ. and 64 bit signed integers All types may be dimensioned witn 
one or rwo subscripts K-8A5JC converts programs to MACHINE lan- 
guage code u/hicn may be put Into EPftOMS or POMS 

K- S»C syntax is very ctase to ISC s SJCondXB S»C inte-preler*. Line 
»\jtC^s ore not required (may be up lo 16 characters) Variable 
names may be up 10 12 characters tang The AT statement dimensions 
varieties to absolute memory a flo Hj g ^ L 

The future ot K-8ASIC will see u OJhli O versions for fne ossorfed inter- 
peelers ourentiy available This means you can compile your BASiC pro- 
grams you now have 

Coll (503) 666- W1 tot our CATALOG, we tave mony OfiM 
p<ogroTO[ocKx3*ng:[)0...$69 OSM.. $99 S0fASM...$69 

CRASMB 

for 0$9 * FUX 

$399 

CRASrvtfl ks the highly aoc*oVrved cross aaserrtrtei package lor OSOond 
FLEX sytf ems. and *s Ifie only one of its type ovollable It rums your com 
pufer into o devetoprnenl station tor these CRJs 

6800 68Dt 6804 680$ 6809 6811 6502 

7000 1802 6048 8051 8060 8085 Z80 

(68000 16/32 bit aoss assembler S?49) 

CPASMfi features include Macros. C u t*i k*%J a»<*rt»y. library file 
cats (12 deep). Symbol length to 30 cni*<xierv Symbol cjojj reference 
tobies, Object code in 4 formats (09v\ FLEX, S1-S9. iNrtL HEX), plus 
mony ot^er ectended directives and opttons nor lound on other 
assemblers 

UOYD VO 19535 NE GUSAN. PORTVANO. OR 97230 USA 
Phone: (503) 666-1097 (Software CorouftoHon Available) 

VISA. MQ COO. CHECK. APPROVtD P.O.* ACCiPTtD 

Cnglond: Vlvawoy (0542 4234251 Wlndntfh {0672 405189) 

Germany Zocher Computer (65 25 299] 

Australia Pails Radto Electronics (61 2 344 9111] 

099 b a » « Mtn»w^ RB( i o » or fSC 



^1 



52 



68 Micro JoumaJ 



GOOD NEWS! 



VSr 



M 



T 



feasor 



CORPORATION 

6/7 IV. Virginia Si. 
Milwaukee. H7 5320 / 
M J /> 276-29:47 



C 

for the 

6809 

MAS NEVER 

BETTER! 

INTR0L-C/6809,Version1.5 

Introl's highly acclaimed 6809 C 
compilers and cross-compilers are now 
more powerful than ever! 

We've incorporated a totally new 6809 
Relocating Assembler, Linker and Loader. 
Initializer support has been added, leaving 
only bitfield-type structure members and 
doubles lacking from a 100% full K&R 
implementation. The Runtime Library has 
been expanded and the Library Manager is 
even more versatile and convenient to use. 
Best of all, compiled code is just as 
compact and fast-executing as ever - and 
even a bit more so! A compatible macro 
assembler, as well as source for the full 
Runtime Library, are available as extra-cost 
options. 

Resident compilers are available under 
Uniflex, Flex and OSS. 
Cross-compilers are available for PDP- 
11/UNIX and IBM PC/PC DOS hosts 

Trademarks: 

Introl-C, Introl Corporation 

Flex and Uniflex* Technical Systems Consultants 

OS9. Microware Systems 

PDP-11, Digital Equipment Corp. 

UNIX, Bell Laboratories 

IBM PC, International Business Machines 

For further information, please call or write. 






W Micro Journal 



53 



fm MKim mm in*y$s$ w*c*4Si 



3> TOLL FftH 

1-800-338H 

Pi 0*0* *f 



3-6800 M 

^%% § Oil? 

W $§§§i 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

for information 

call (615) 642-4601 

COCO OS-9 " FLIX* 

SQFTUJflRE 



!!! SPECIALS !!! 



'Ttir CM CtCAUKE' 


— 


tfM1e tiiey Last 




FLEX Software 










T5C "FLEX Utilities" 


W4S 


$75.00, 


MM only 


$60.00 


T5C "Sort Merge" 


was 


$75.00, 


MM only 


S .00 


TSC "680? BASIC" 


was 


$75-00, 


MM only 


160.00 


T5C 'Extended BASIC" 


was 


sioo.oo. 


MM only 


185.00 


TSC -OeBug p 


was 


575,00. 


MM only 


$60.00 


TSC "FLEX Diagnostics" 


was 


$75,00, 


MM only 


$60.00 


TSC "Text Processing System" 


was 


$75.00, 


MM only 


$60.00 


TSC "68000 Cross Assembler* 


WdS 


$?so.oo. 


MM only 


S22O.O0 



LUCI0A7A "TEXPAx" (FLEX9. 5 I/O — A Pascal Implementation 
of the Tektronix 40xx Terminal Control System, with 
Pascal SOtKlCC. The Manual Includes a discussion of how 
to utilise this package In the graphical library in 
Implementing Vector Drawing. Point Plotting, etc.. up 
through Windowing and Clipping concepts. 

Normal Price. $100.00; MM only $65.00 



OS-9 Software 

MTCRGwARE "OS-9 File Handler Toolbox'; MM only $70.00 
MtCROuAPE "Relocating Kacro Assembler"; MM only $170.00 



Iff 
» • • 



NEW NEW NEW !!! 



Computer Systems Consul tan is, lac. 



CMJOCM TUECHftrtlCATlOtS P40CJU* 

Menu-Driven: supports Oumb-Termlnal Node. Upload and 
Oownload In non-protocol mode, and the CP/M "M00EM7" 
Christen sen protocol mode to enable communication 
capabilities for almost any requirement. Written In V\ 

Fill, CCF. 0S*9, IMiFLEX; with complete Source - $100.00 

without Source - $$0.00 

t-C-i — TO* (not Nacres) CROSS ASSOBLFJRS 

Use your 6809-Based Computer System for developing Software 
for 1802/5, 6800/01/03/11, 6804, 680S, 6809, 6502/3, 8060/5, 
8048. 8051, 2-80, and 68000 Systems. Provides the 
Assembler Language and Listings normally used on the target 
Systems. Written In "C"; produces Motorola S-Teat for 
machine Independence. 



flit. CCf. OS-9, UnlFLtX 

the complete set ( Including the C 



each - $60.00 
any 3 - $100.00 
■ $200.00 




aia » u.s.a. 

(■la. It.M) 
101 All r*»lfB 



"FLEX * a irmdawnmr* Oi TeOme* SV*ew» QsmimUre* 
'OSfl <» a umttemmm of Moowave 



LLOTO l/o 

R -BASIC — A "Native Code" BASIC Compile 

Level I K-6AS1C supports sequential files, floating point, 3 
sizes of integers, string variables, and arrays. The 
Single-pass compiler compiles to Assembly Language Source 
Code (which may be assembled by the Included OSM Atsembler, 
or by the CftASMB Cross Assemblers), Conditional assembly 
Is used to reduce the size of the run tine package. (See 
Review m Oct. *64 Issue of '66 1 Micro Jowmol.) 



FLEX. CCF, 05-9 



Compiler wit* OSM Assembler ~ $199.00 



OSM -- Extended 6809 Macro Assembler 

Provides local labels. Motorola 5-records, and Intel Hex 
records. Also generates 05-9 Memory modules under FLEX, 
allowing the maintenance of source code programs for both 
OOS's on one System. 



FLEX, CCF, OS-9 



$99.00 



CRASMB — 8-81 1 Macro Cross Assembler 

Same features as OSM. cross-assembles to 6800/2/8, 6801/3, 
6804, 6805. 6809. 6811, 6502, 1802, 8048. 8060/5. 2-8, 2-80. 
Fully supports the target chip's standard mnemonics and 
addressing modes. 



FLEX, CCF, OS-9 



full package -- $999.00 



CRASM0 16.32 — Cross Assembler for the $6000 

Same features as B-BIt Cross Assemblers above 
$249.00 



Compusente Ltd. 

CR1IMC6 COBOL — COBOL Compiler 

This COBOL Compiler supports a large subset of ANSI! level 1 
COBOL with many of the useful Level 2 features. Full 
support of the FLEX File Structures Is implemented 
Including Random Files and the ability to process Keyed 
Files. Large programs can be segmented and linked at 
runtime, or Imolenented as a set of overlays. The System 
requires S6X and CAN be run with a single Disk System. 

FLEX. CCF normally $199.00 

Special Introductory trie* (whtle they last) — $99. H 



ASSEMBLERS 

Southeast Madia 

— ' ASTRWC09 

A "Structured Assembler for the 6909" which requires the TSC 
Macro Assembler. Allows direct use of structured statements 
such as ]f, USE. 00, REPEAT, etc.. and provides Indented level 
formatting of the listing so that the structure Is apparent. 
Re. '68' Micro Journal, Sept. '83 (program was called "STASM09 P ; 
has been renamed due to conflicts}. 

A User reports 
"... I'm very pleased and am no* writing almost exclusively In 
<ASTRU*09). I've selected It over --- for all future systems 
development... As {one) of my early evaluations. I rewrote a 
rather elaborate routine originally done In assembly. Out of 
the 1000 bytes of code generated, the (ASTRU«09) version used 
only 20 more bytes than the original. — could not handle 
thfs program since It uses triple-precision fixed point 
arithmetic... ( have a large body of code already written that 

fs Incompatible with constructs. No oroblem with 

(ASTRUX09) and the structure sure helps In understanding the 
logic!" 

F. CCf - $99.95 

TSC 

Macro Assembler 
The FLEX STAJDAtfl Assembler. Special — F.CCF $35.00 

Relocating Assembler «/L1nfclnn Loader 
Use with Bany of the C and Pascal Compilers. F.CCF $150.00 

Creat Hal hi Camp. Co. 

Relocating, Recursi ve Macro Assembler and L luting Loader. 

F.CCF 1J2O.00; w/ Source 1240.00 

Omega Soft 

HALU 
Melocatlnf Assembler and Linking Loader 

F.CCF $12S,00; for One Year Haint., add $50.00 



Windrush Micro Systems 



by Graham Trott. 



F.CCF - $96.00 



S *CKl 'Mi 
I-IUI) UN Mtini 



ft**? Altaii 



' oC«»3andf* Smith Rd 
* MusOfl. TN 373*3 



CoCo €»*.♦ * 



SOFTWARE 



AwmLLatoLUty 

P ■ FLEXj OCT • Color Compter FLCX 

■ 06-9* CCO ■ Color Computer 06-9 

g - UhlFUX 

CCD - Color computer Wsk 

OCT « Color Computer Tape 



lit f! 



If* Toir •pMJravHivf Syttti 1 Bit* Sl*» III 



'68' Micro Journal 



DISASSEMBLERS 

Computer frit— I CWUltllttl 

»tt SLEUTH 
Computer Systems Consultants Smper ST-entli Is a "M«e Tested', 
reliable, PROVEN Disassembler that has gained acceptance 
through out the SS-SO Bus Communl ty as an extremely POMERfUt. 
INTERACTIVE. Software Tool. The Smpor SWmtft Software Package 
consists of 3 Program; $UOTM I the Disassembler). OIGmA* (used 
to globally Change Labels to a meaningful Name), and XKEF (a 
Cross Reference Generator for Sovrce Code Files). SLEUTH will 
Disassemble Memory Resident 6B09 Code and 6 BOO. 6801. 6602. 
6803 (the "Baby CoCo"). 6805. 6B08. 6609. and 6502 (Apple. 
Atari. Commodore, etc J Binary Disk Files. fSee Aug, '63 *«T 
JHcro Javmil 'Color Users Motes" Column for a full Review.) 
Color Cempufctr SS-SO ftus (all «/ Source) 

CC0 (32* Req'd) 

ObJ. Only 149.00 F, 199.00 

CCF. ObJ. Only ISO. 00 U, 1100.00 

CCF, w/Source 199.00 0» 1101.00 

CCO r ObJ. Only $50.00 



All Computer Systems Consultants Software 

runs on the Color FLEX Systems 

ALL In stock 

call foo-m-taoo 

for DVEDIATE DELIVER? 



Comyutr Syit 



Cen ler 



OTiAHITI ♦ 

An 'easy to use*, powerful Disassembler for Disk Resident 6609 
and 6600 Binary Files. Allows the development of a "Control 
File* of various Program 'Boundaries' during successive 
disassemblies; can use a Label File which automatically replaces 
a Hex Location with a Label Name; Includes an IP£f Utility; etc. 
Label files provided for MlnJ-FLEX, FLEX2. FLEW. Color Computer 
(for use with Color FLEX Systems), etc. OS-9. Version Includes 
special OS-9 options. 

CCF. ObJ. Only $100.00 CCO r " " S1S0.00 

f. ' * 1100.00 o. ■ * $ ISO. 00 

U. " " 1300.00 



COMPILERS and DECOMPILERS 

6809 "Structured* Assembly Lan$. Compilers 

Wimmmtm Mere Sjritmmi 

PL/9 

By Graham Irott. A conrtlnation Editor/Compiler/Debugger, all In 
OUt PACKAGE; provides a totally INTERACTIVE Program Development 
Cycle. The Single-Pass Compiler supports large Symbol Names; 
Variable Types; Pointers; Control Structures (simitar to *c* or 
'Pascal'); Stack. A- .6-. and O-Reglster manipulation; etc. The 
Source-Oriented Trace/[)ebugger provides Single Stepping. Break- 
pointing, etc. An excellent Software Development Tool which 
provides for the minimum utilisation of the power of tfte 6B09. 

F, CCF - 1198.00 

irMmiltal Perelnpminti 

mDttlCAL 
Need the Ease of Design and Maintainability of 'Structured 
Programming' AND the Speed and Control of Assembly Language! 
Then VN1NSICAL was designed for youl This Single Pass. 
Recursive Oescent Compiler provides the tool for developing 
simple Utilities to MAJOR Systems In Assembly Language. 
Supports 3 "In" Levels which allow one level of Procedure 
nesting, or more within 'Nodules', ft Is easy to develop 
programs written for other machines since you 4rt working at 
the Assembly Language level. Features unified, user-defined 
t/0; produces ROKeble. relocatable, recursive, re-entrant Code; 
Structured style and statements with Procedures and Modules; 
supports Byte an* Double-Byte primitives with 3 types of 
Integers (up to 32 bit). Char and Boolean, and unlimited sized 
Arrays (vectors only); interrupt handling; unlimited length 
variable Names; Variable Initialization (defaults to 100); 
Include 'Source File' directive; Conditional compiling; direct 
Code Insertion; control of the Stack Pointer; etc. To quote 
Son Anderson In his comments about MWBICAt fn the Sept. '63 
Issue of 'to* micro Jomrmal that* except for thje lack of Floats. 
*.... 1 have to fie* tils umm VEIV high retime, ...\ tt is a 
FAST Compiler which produces FAST Code (Ms "Primes' Benchmark 
rin at 9 sacs, on a 2 MMi System), 

^ ^ —*s J * n <J CCF - 1194,00 



WEI-ZM 



wu usKtm wr#£¥£*ysst_&*CM*si 



*& TOLL FMI TELEX 991 414 f VT ITH 

1-800-338 6800 M 

% % $ft0l§ 

5900 Cassandra Smith Rd. 

HUson. TN 37343 

for Information 

Calf (615) 842-4601 

CoCo OS-9*" FLIX" 

SflFTUIARE 



'C' COMPILERS 

Wmdrush micro Systems 

C Compiler 

By James NcCosh. Full featured C Compiler for the FLEX 
Operating System (lacking ONLY "bit-fields"). Including an 
Assembler. Requires the TSC Relocating Assembler IF the user 
wishes to implement his own Libraries. 

F and CCF - 1295.00 

Utrml 



C Compiler 

A full-lea tured C. streamlined for the 6609. Generates very 
efficient object code. Output "benchmarks' close to lOPWi 
66000 in 6 Sit Operations; l.S times Faster than a 4 MHz 780 
when using a 2fcw* 6609 System (Re. p 43. °66° Hlcro Journal, nay 
'63), Floats, etc. 

r, CCF, and - 1)75.00 

If - 1425.00 

One Year Heii»t. - 1100.00 



PASCAL COMPILERS 



PASCAL Compiler 
Native Code Compiler (VCSO Oriented). 



F and CCF - 1200.00 



LwcUeta 

PASCAL Compiler 

P-Code Compiler (ISO Standard). Designed especially for 
Microcomputer Systems; Run-time System cheeks available 
resources for each task, allowing operation on even minimal 
computer systems. Allows linkage to Assembler Code for maximum 
flexibility. 

F and CCF 5* - 1190.00 
F r - $205.00 

O—eSoft 

PASCAL Compiler 
For the PROFESSIONAL: (SO B«sed, Native Code Compiler. 
Primarily for Rea1~T1m* and Process Control applications. Use 
custom t/0 devices in place of the Pascal IhPUT and OUTPUT; 
Long [nt. f32 61t); Oynamfc length strings; Interrupt 
processing. ROH-able. PK. Re-Entrant Code. etc. POmTtFWLI 
Includes Source for the Symbol fc Debugger. Runtime, and several 
Utilities. Requires a 'Motorola Compatible* Relocating 
Assembler and Linking Loader. 

F and CC? - 1425.00 
One Year Malnt. - 1100.00 



DECOMPILERS 

SmmtmHit Hernia 

Hi (A UMFLEX "basic" De-Compiler) 

Re-Create a Source Listing from UnlFLfX Compiled basic 
Programs. Easy to Use; works w/ All Versions of UMFLEX basic; 
Output to 01 1k or Terminal. T1«e TESTED and PROVEN; SOUOf 

U - 1219.95 



144 21 0.4. A. 
(al». H.H» 

10« Hi MnLtm 



V. 



"Fl€X is a irpdvmmft d Tmcrncal Sr**4WT* Consultant* 
"OS9 «» m icmdemavh ol M* f omv 




PaajUatklilty 

F - FLEX. OCT 

O - 06-9. ODD 

- Uh.lPlF.Jt 

CCS - Color Computet W*k 

OCT • Color Computet Tope 



Cnttr Computer PLCx 
Color Computer Ofv-9 



'68' MtCfO Joumat 



III 



*M***T 



4 Ml 



aVIl 



lit 



55 



tin msxiTTi mr* trans $ wtetssi 



3 1 TOLL PRI« TItBI SSI 414 rVT »TH 

1-80O-3 38-6800 0k 

Tijllfl mTlif 

5900 Cassandra Smith Rd. 

Hixson, TN 37343 

for information 

CAM (615) 642-4601 

COCO OS-9" FL*X* 

SOFTWARE 



UTILITIES 

lesicot **r 

This BasIcO* Cross metercmce Utility Is a Bas1c09 Program which 
•111 produce a "pretty printed* listing with each line numbered, 
followed by a complete cross referenced listing of ell variables, 
external procedures, and line numbers called. Also Included fs 
a Program List Utility which outputs the listing without the 
overhead of building the cross reference table, which allows It 
to run considerably faster when only a "pretty printed" listing 
with line numbers Is desired. ReQulres BasIcO? or RunB for 
operation. 



OKI • !•*+,..«» i* v QCf H^.t^^. 



C***« • t** >•-*■•*» ' 



S l«*W.II1 




l* •» M «J u »4 *• 

and CCO - 00 J. OnTy - S39.9S 
and CCO - vf Source - m. 9S 



• t Hr.: ■■* 



OS-9 TOUi 

Give your 0S~9 Levml ! System the apoed of a mi i a access that 
can be several orders of magnltiida over your present floppy disk 
drive. Use that Ei leaded Memory capability of your SHTPC or 
Glmlx CPU card (or any other that has the save forpat OAT). 
The slie of the Virtual Disk Is completely variable In whole 
Increments of 4K up to 9S0K. which Is all that these systems 
can address beyond the base page that OS-t Lmvml I uses. By 
putting all of your CMOS Directory on your Virtual 01 sk, you can 
have the fastest execution speed possible (next to eating up 
System Memory with all of them). You can also set up high 
speed Inter-process communications via random virtual disk files 
and not tat up valuable system memory with pipe buffers* Some 
Assembly Reoulred - Level ! OM.T. 

0. ooj> Only - tr*.»S 
*t Source - H49.9* 



Southeast Media 



0-F 



OS/9 to FID - REX to 0579 

finally; the barrier has been removed between OS/9 and FLCX 
formatted disk si Now you can RUO from, and MfttTE to* a Single 
Sided S" or 8" FLU diskette from OS-9 with fr-f . 0-F is a new 
and unique program, written In IASIC09 <w1ta Source), that 
performs the following functions; 

REFORMAT: A 6ASIC09 Program that reformats a chosen amount of 
an OS-9 disk to FLEX Format so It can be used normally by 
FL£X. 
FLCX? A IASIC09 Program that does the actual read or write 
function to the special 0-f Transfer Disk, all selected from a 
user-friendly menu. Functions provided Include reading the 
FLEX Directory, Deleting FLEX Files, Copying both directions, 
etc. AH selections are Interactive and complete, Including 
all necessary prompts to the operator. 
FLO users can read, write and use the special disk as any 
other FLEX disk, provided the FLEX directory Is not allowed to 
continue beyond track zero (too «any files). 

- *79.9$ 



Southeast Media 

" COPfMULT 

— Copy LARGE Disks to several smaller disks — 
The following FLEX utilities allow the backup of AIT size disk 
to any SMALLER size diskettes (Winchester to 8*s or S's. 8* to 
5*s. etc.). By simply Inserting diskettes as requested by 
COPIUJLT. a large disk system may be downloaded to your present 
floppy disk system, any size. Mo need to fiddle with directory 
deletions or any of the other tedious operations that must be 
done using the norma) copy routines. 
COPTMULT.CMO understands normal "copy" syntax and always keeps 

up with files already copied by maintaining directories for 

both host and receiving disk system, eliminating hours of 

tedious keyboard entries and other time consuming cleanup 

chores. 
BACKUP. CMO Is a special program that downloads "random" type 

files, any size. 
RESTORE. CMO a special program to restructure copied "random" 

files for copying, or recopylng back to the host system. 
FREELIXK.CMO a "bonus" utility that "relinks" the free chain of 

floppy or hard disk thereby eliminating fragmentation. 
Completely documented tourme files Included. 

ALL 4 Programs <FLEX. 8" or D S94.S0 



Southeast Media 

XOATA 

A tOMHuiUCATIOi Package 

for the UmlFLCX Operating System 

Allows UnlFLEX Based Systems to Transmit and Receive files to 

and from other Computer Systems via Modem. Use with CP/"., Main 

Frames, other UnlFLEX Systems, etc. 

-- Verifies Transmission Integrity using 
checksum or CRC 

— Automatically Re-Transmits bad blocks 

— Transmits data In 126 byte blocks 

U - SZff.ff 



PASCAL UTILITIES 
meoulrms LUC DATA Pascal ear 3. 
XREF « produce a Cross Reference Listing of any text; oriented 
to Pascal Source. 

F and CCF - tJS.OO 
ImCLUOC -- allows the Inclusion of other Filet In a Source Teat; 
has unlimited nesting capabilities. Also allows Binary File 
Inclusions. 

F and CCF - tZS.OO 
PROFILER — produces an Indented, numbered, "Structogram* of a 
Pascal Source Teat File. Allows viewing the overall structure 
of large programs, and provides clues as to the Integrity of the 
program. Supplied as Source Code; requires compilation. 

F and CCF - tZS.OO 




"•FLEX is a u-ertmmav* of TmcrawctJ $ytmK»s Corouhams 
-0S9 is a trademark of Imcrowe 




femLlmbUlty __ 

P - FLEX, OT » Color Compter FLCX 

■ 06-9, CCO » Color Computer 06-^9 

- OllFLtX 

CCD - Color Computer Wok 

CCT • Color computer Tmpm 



56 



III ?<*>#•• StPfJCtfy Yd] 



'•9 



III 



66' Micro Journal 



Lmcldata 



COffCAT 

Pascal mOT required 



Allows reading TSC Mlnl-fLEX. SSB 0OS68. and Digital Research 
CP/H Oisks while operating under FLEX 1.0. FLEX 2.0. or FLEX 
9.0 with 6600 or 6909 Systems. COPYCAT will not perform 
Miracles, but. between the program and the manual, you stand a 
good chance of accomplishing a transfer, Includes Utilities to 
List Directories. Copy Files, and convert Text Files when 
required. Also Includes a Utility for Investigating Physical 
Compatibility problems. Programs supplied In Modular Soorce 
Code (Assembly language) to make it easier to solve unusual 
problems. 



Compute r Syttnaw Comal twti 

™^"~ — mniSK UTILITIES 

Eight (ft) different FLEx Utilities that should be a part of 

every FLEX Users Toolbox; Assembly Language {Source Code): 
Copy a File with CRC Errors, so It can possibly be salvaged; 
Test Disk for errors; Compare two DIUs; a fast Olsk tack up 
Program; Edit Olsk Sectors; linearize Free-Chain on the Olsk; 
print Disk Identification; and Sort and Replace the Disk 
Directory (in sorted order). 

PLUS 

Ten BASIC Programs to; 

A BASIC Resequencer with EXTRAS over "RENUH"; works with ALL 
versions of FLEX BASIC ANO the Precompiler, checks for 
missing label definitions, processes Disk to Disk Instead of 
In Memory. 

Compare. Merge, or Generate Updates between two BASIC 
Programs, check BASIC Sequence Numbers, compare two 
uo sequenced files, and 5 Programs for establishing & Master 
01 rectory of several Disks, and sorting, selecting, updating, 
and printing paginated listings of these files. 

A BASIC Cross-Referemce Program, written In Assembly Language, 
which provides an X-Ref Listing of the variables and Reserved 
Words In TSC BASIC. XBASIC. and PRECOMPILER BASIC Programs, 

ALL Utilities Include Seur+e (either BASIC or Source Code). An 

EXCELLENT Value! 

F and CCf - ISO. 00 



BUSINESS 

WORD PROCESSING 

■tlodmsh Micro Syst—s 

SCRI0ITOR III 
EXTREMELY Powerful Screen-OMen ted Editor/word Processor, 
Almost 50 different conaflnds; EXCELLENT Documentation (over JDO 
pages), including a full Tutorial Section to help you learn how 
to use the system, features Cursor-based editing, dynamic 
Screen Formatting (what you see is what you get), Multi-Column 
display and editing, "decimal align" columns (AND add them up 
automatically, if wanted), define multiple keystroke macros, even 
and odd page number headers and footers, imbed printer control 
codes In text, full Justification series of commands, full "help" 
support, store common command series on disk for future use, 
etc. tasy "Set-Up" (for example, you just hit the key you want 
to use for a specific function, such as "cursor up", and the 
System reads an stores that key - no digging fnto tech manuals 
for codes, etc.): use supplied "set-ups', or remap the keyboard 
to vnat you are used too. Except for proportional printing, 
this package will 00 IT ALLS 

6600 or 6609 FLEX or SSB DOS. OS-9 - S17S.00 

Soitttaat Media 

SPELL6 "Computer Dictionary" 
OVER 120,000 words! 
No more p Let your fingers do the walking through the Dictionary* 
while you are entering Text with your favorite Editor or Word 
Processor, SFELLB is more than just "another Spelling 
Checker"; It allows you to look up a word from within your 
Editor or Word Processor so that you KNOW It Is right WHEN YOU 
TYPE IT IN with the SFK.CJD Utility (which operates In the FLEX 
Utility Space). Yes. It ALSO allows you to check and update the 
Text after you 6re finished; along with allowing you to ADO 
WOROS to the Dictionary, "Flag" questionable words In the Text 
for evaluation later, 'view a word In context" before changing 
or Ignoring, etc. SPELL* first checks a "Common Word 
Dictionary*, then the normal Dictionary, then a "Personal Word 
list*, and finally, any "Special Word list" you may have 
specified. SPEllt also allows the use of Small Olsk Storage 
systems. 

F and CCF - H».9S 



W--E- 



^FLCX * a It, 

"OSB 4 a uabemark of ftmcrowsre 



Add 21 U.S.*. 

(aim, #a.w> 

Iam « • vi i -. - par*!** 
101 ait F»r*it* 



System ConsunarHs 



fUi P1SK£fTE_mH£VE*V$S0 fUMOJASi 



3 TOLL PflKC 

1-800-338 



TELEX 451 414 *VT BTH 

* 6800 M 

Jjfctit m?Aif 

5900 Cassandra Smith Rd. 
Hixson, TN 37343 

for Information 
call (61$) 642-4601 

CoCo OS-9 f ' *LtX" 

SflFTUIME 



Great Plains Computer Co. 

STYLOGRAPH 
A full-screen oriented WORD PROCESSOR — (now runs on the Data- 
Comp and FHL Color FLEX Systems; uses the SI * 24 Olsplay 
Screens). Full screen display and editing (I.e.. what you see 
is what you get); supports the Daisy Wheel proportional 
printers. 

SPECIAL CCF - H9S.0O 
F and - 1295.00 U - S395.00 



Fast Computer Dictionary. 
F, CCF. OS/9 - ms,oo 



SPELL 



U - U75.00 



KAJL MERGE 
Greatly extends the power and flexibility of STTLOCAAFM. 
F, CCF. - $145.00 U - 1195.00 



Southeast media 

JUST 
Text Formatter 
JUST, a Text Formatter developed by Ron Anderson, provides 
numerous features which make it a valuable addition to any FLEX 
Users Software Library. JUST 1s designed for formatting Text 
Output for Dot Matrix Printers and provides many unique 
features: 
'Output the "Formatted* Text to the Display for format analysis 

and change. 
-Output the "Formatted" Text to a Text File for use with the 

supplied FPRINT.CUO for producing multiple copies of the Text 

on the Printer INCLUDING IHBEOOED PRINTER COMMANDS (this 

Utility Is very useful at other times also, and worth the 

price of the program by itself I. 
-"User Configurable" for adapting to other Printers (comes set 

up for Epson HX-80 with Craftrax); provides for up to ten (10) 

Imbedded "Printer Control Commands", such as Italics on and 

off. boldface on and off. etc. 
-Automatic compensation for a "Double Width" printed line. 
-Includes the normal line width, margin, Indent, paragraph, 

space, vertical skip lines, page length, page numbering, 

centering, fill, justification, etc. 
-Use with ANT Editor. 
-Supplied with "Structured Source* tHIndrush PL/9); easy to see 

the flow of the program, 

F and CCF - 149,95 




teUafcUlty 

F « Fl£X. CCF • Color Coaifmitej" HX* 

O =■ 06-9. OCX) * Color Cav»pvte>i flff-9 

U - UhlFLFX 

CCU * Color Carter Dttfk 

OCT * Color Compter Tape 



W Micro Journal 



lit Plm>«m# Specify Ymt Op>*>rmtlnf $yst«mY i Disk Sis* lit 



57 



mi warn mr*M*r$s$ w*c*4n 



«P TOLL PMC TILII SSI 414 PVT ITH 

1-800-338-6800 Ml 

3& II fiiif 

5900 Cassandra Smith Rd. 
Hixson. TN 37343 

tor Information 
call (615) 642-4601 

CoCo OS-9 ,,> FUEX" 

SOFTWARE 



DATA BASE 
MANAGEMENT SYSTEMS 

mestcmtiter Applied easiness System s 

Possibly one of the most powerful Database Management Systems' 
available, this machine language program Is small enough to 
operate on a finglt sided 5* disk, yet provides the speed of 
H.L. and power Hailed only by the user's Imagination. This OMS 
supports Relational, Sequential, hierarchical, and Random Access 
File Structures, and has Virtual Memory capabilities for those 
Giant Oat* 6«ses. IDAS Level I provides a functional "entry 
level" Systea which provides for defining a Data Base, entering 
and changing the Data, and producing Reports. IMS Level II 
adds the POWERFUL "CCKftATT facility which uses an 
English Language Coamand Structure fn Manipulating the Data Co 
create new File Structures, Sort. Select, Calculate, etc. OPS 
Level III adds several special "Utilities" which provide 
additional ease of working with the various structures, changing 
Systea Parameters, etc. 

IMS Lvl 1 - F & CCF - 1129.95 

I0HS Lvl IT - F 4 CCF - J199.9S 

IORS Lvl III - F a ZCF - S269.9S 

XOHS Systea Manual only - S24.9S 



ACCOUNTING PACKAGES 



treat Mains Computer Co, and Universal Data feeseercn, Inc. 
both have Business Packages written In TSC XBASIC for Ft(x, 
CoCo FLU, and UaiFLEX 



Call 800*138-4800 for aore Information 



Computer Systems Consultants 

nCTTDEEi iwnwnmmt 

The Full Screen Inventory Systea provides a aeans of maintaining 
snail inventories. Using a linked, keyed randoa file structure 
based upon the itea field, it keeps the file in alphabetical 
order for easier inquiry. With the FIMO coaaand, the user My 
locate and/or print all records matching on partial or complete 
itea, description, vendor, or attributes, items In backorder or 
below alniaua stock levels any be located and/or printed tnru 
the saae process. Printed output may be produced In Item or 
vendor order. A materials requirement planning (HRP> capability 
for manufacturing environments Is Included to allow the 
maintenance and analysis of Hierarchical assemblies of f teas In 
the inventory file. It requires TSC's Eateaded 1ASIC. 

F and CCF - 1100.00, U - SLS0.00 



Tma Virginia Company 

BI2PACC 

IIZPACK Is used for storing accounting, nuaerlc, and financial 
da ta which can then be used for planning, budgeting, 
forecasting, analyzing, etc. While "Electronic Spreadsheets* 
are extremely useful In many situations, 0I7FACK excels In 
businesses where there ^r^ numerous expense coluans, revenue 
sources, significant business Indicators, large numbers, erratic 
week-to-week and month-to-month fluctuations, etc. BIZrAfJ. 
helps determine statistical relationships, establish trend 
lines, "saooths" data via moving averages, analyze seasonal data, 
adjusts for Inflation, lags data In Statistics or Column 
functions, plots data, etc. IIZMCK is oriented toward time 
series analysis of businesses. The Program displays Information 
on the screen In Columns of Information with each Row 
conforming to a defined Period of Tiae (weeks, aonths, years. 
etc.), and is very easy to use (data Is easy to enter, change, 
and aodlfy; coaaands can be renaaed to suit the users 
requlreaents; ununited ability to create specialized commands 
using common BASIC Statements; etc.}. Requires TSCs Extended 
BASIC. 

f and CCF - S135.00 
with Source - WS0.00 

Computer Systaai C o nsul u nti 

TMULi RASA SPREADSHEET 

TABULA RASA Is similar to DCSKTOP/PLAN and provides for the 
generation and maintenance of tabular computation schemes often 
used for analysis of business, sales, and economic scenarios. 
Its menu-driven user Interface provides these capabilities even 
to those users with no programing experience. Its extensive 
report-generation capabilities allow the user to generate 
professional results with minimum effort. It requires TSC's 
Extended BASIC. 

F and CCF - ttOO.OO. tl - 1200.00 



Co mputer Systems Center 

OYtACALC 

THE Electronic Spread Sheet for 6B09 Computer Systeas. An 
ettremely POWERFUL Business Tool, this Program will find an 
unlimited number of *non-business" applications, also (for 
example, a full Junior College Electronics Curriculum was set up 
using OYIACALC). Advanced features like "Table Lookup* a»ke 
Income Tax work easy; Column or Row Sorting for numerous 
applications; etc. Completely 'Memory Resident", Machine 
Language, this Program is FAST. Provides STANDARD Fttx Teat 
File output for use with BASIC, Word Processors, Pascal, *t\ 
etc. Also available for Deta-Coap and FHL FLEx systeas using 
the SO * 24 Displays. 

F and SPECIAL CCF - SJO0.00 
U - 1394.00 



ODDS AND ENDS 



Computer Systems Consultants 

FULL nOB FOWtS DISPLAY 
This package supports any Serial Terafnal with cursor control 
of Hemory-Happed video Displays. The package substantially 
extends the screen Input/Output capabilities of TSC's Extended 
BASK prograas by providing a slaple. table-driven method of 
describing and using full screen displays. These table entries 
are easy to set up and aalntaln, and are normally stored on 
disk and read as required. A slaple. Interactive means of 
generating the forms and the data field definitions is provided, 

F and CCF - ISO. 00, U - PS. 00 



Consultanti 

FULL 50EE1 NAlLImt LIST 

Screen Hailing List System provides a means of 

Using a random fill structure 

it maintains the 

With the FIMO 



the Full 

maintaining slaple milling lists. 

based on the first character of the naae field, 

file in alphabetical order for easier inquiry. 

command, the user may locate all records matching on partial or 

complete name, city, state, zip, or attributes. Printed 

listings and output to labels aay also be produced on the s^me 

selective basis. It requires TSCs En teamed tASlC. 

F and CCF - $100.00. U - $110.00 




aaa 21 o.i.a 

(■!■- 12. Ml 
101 air raralfa 



"FLEX is a tredavneA c* Tectwcei Systems Constant 
"059 w • umttwvnavk of Mcroware 



llOOJlHRflO mmLammmffav a«L\m A* AmA Am. 

%m^OOC***«ndf« Smnh Rd CoCo ot* »t*w 



*nro («13) M2-460* 



*• Liability 

F - FLO* OCT • Color Computer FLEX 

O • 06-9, ODD • Color Computer 06-9 

U - UhlFUX 

OCD ■ Color Computer Dink 

OCT « Color Computer Tope 



58 



Iff PI 



SfXKirt/ YdJdJT OfMNTrnVtlffJi +9*++* | »!«* lllA) 111 



68* Micro Journal 



Southeast Media 

CNESS 6609 
Requires FLEX and DISPLAYS On An? Type Terminal 
features: 

•Tour levels of play. 

•Swap side. •point scoring system. 

•Two display boards. "Change skill level. 

•Solve Checkmate problems in 1-2-3-4 moves. 

•Hake move and swap sides. *?lay white or black. 

This Is one of the strongest CHESS programs running on any 

nicrocomputer. estimated USCF Rating 1600* (better than most 

"club* players at higher levels). 

F and CCF - S79.9S 

Southeast Media 

DIET-TRAC Forecaster 

DlET-TAAC Forecaster is do XBAS1C program that plans a diet 
In terms of either calories and percentage of carbohydrates, 
proteins and fats (C P G?> or grams of Carbohydrate. Protein 
and Fat food exchanges of each of the six basic food groups 
{vegetable, bread, meat, skim milk, fruit and fat) for a specific 
Individual. 

Sex, Age. Height, Present Height, Frame Si#e, Activity Level 
and Basal Metabolic Rate for norma) Individual are taken Into 
account. Ideal weight and sustaining calories for any weight of 
the above individual are calculated. Hhen a weight goal is 
given {either gain or loss), and a calorie plan is agreed upon 
between the computer and the individual, the number of days to 
reach the weight goal Is projected. The starting and ending 
rate of weight loss is calculated, and a daily calendar with 
each day's weight for a 30-day period is printed. 

F • J59.95 
U - 189.95 



COLOR COMPUTER 
SOFTWARE 



Stearns Electronics 

FORTH 
Intrigued by Forth??? Here is a FORTH package tailored to the 
Color Computer! This package Is supplied on Tape, with 
Instructions for transferring It to disk if you wish, written 
primarily In machine language, It's speed is unparalleled. A 
full Semi graphlc-8 Editor Is provided, along with 'goodies - like 
Graphics and Sound Commands, Printer Commands, Auto-Repeat and 
Control Keys, etc. If you are Interested In Learning FORTH, a 
Trace Feature is provided which Is Invaluable. If you are a 
FORTH Pro, this package provides CPU carry Flag accessibility, 
Fast Task Multiplexing, Clean Interrupt Handling, etc. (Or; you 
won't "out grow" the Basic capabilities of this Implementation). 
Combine this package with Leo Brodie's EXCELLENT Book "Starting 
FORTH", and you will be a FORTH Expert before you know It {and 
have a lot of fun doing It!). 

Color Computer TAPE - J58.9S 

Cm torn Software Engl net ring, inc. 

Color Computer uUfHIC SCJttEM PRUT Programs 
Ouraps any *PH00E H Screen to the Printer with the BASIC USR 
Function. Shift the Printout left or Right or Reverse Print 
(Dark for Light Screen and Vice Versa]. All Programs on Tape. 
6SPR for R.S. LP-VM/VIH ft DAP 100/200/400 S7.9S 
&SPRE for Epson w/ Graftrax and Graftrax ♦ *9.95 

6SM6 for Gemini 10 and lb ?9-95 

6SW for the Prowriter Printers *9.9S 

Custom So f taw re Engineering, Inc. 

— MTT-MJKr GDttM Program 

A Menu Driven EXTENDED BASIC Program which allows the entry of 
up to IZ Memos per Day, each of which may contain up to 28 
Characters, for any day of the Month between the years 1700 and 
2099. A Araphic Calendar shows which days contain Nemos, and a 
"Key Word* Search Is provided which can be output to the Screen 
or Printer. 

TAfE OATE-0-BASE CALENDAR 
(Each Tape File will hold up to 400 Memos) S16.9S 

DISK DATE-OBASE CALEMOAR 
(4.000 Nemos at 300/Month per 01 s*> 119.9$ 



fe-Q 



444 H 0.1. A. 

(mi*. 11.30) 

[M4 it IttrfaCt r«nl|i 

101 Air rc.tl ( D 



F*£E PISXiTTiJMH £¥t*Y$59 mCHASi 



3? TOLL FREE TILEX 33S 414 PVT tTN 

1-800-338 



% 



T^tM wily 



% 




IW 



5900 Cassandra Smith Rd. 
Hixson, TN 37343 

for information 

Call (815) 842-4601 

CoCo OS-9 T " FLEX 1 " 

SflFTUIARE 



Custom Software L no i nee ring, inc. 
THaFi ThlEREST-fng 

interested In INTEREST I the Money Kind]? An EXTENDEO BASIC 
Program that will help you deal with numerous problems requiring 
interest calculations. Present Value, Rate of Return, Current 
Bond field and Rate of Return to maturity. Loan Repayment 
Amortization Schedules, etc, 



TAPE - $29.95 



Custom Sotjfcart 



Engineering, |mc. 

DRK fiJITJL HAMM.EK 64K 
An EXTENOED BASIC Data Management System w/ Mach. Lang. 
Routines. Allows a aax of 246 Chars, and 14 Fields per Record, 
and another Record can be linked to the first; 8 Char. Field 
Names, up to 99 Chars, per FieldL Powerful On-Screen editor 
for Input and update, flexible Output capabilities Including 
output to Of sic Files for use by other Programs. Change File 
Definition without re-entering the Oata, Split Files, etc.. 
Allows Multiple Field Sorts. Select on any combination of Fields, 
etc. An extremely POWERFUL TOOL; instructions provide examples 
of Nailing Lists and a Financial Stock Profit and Loss Tracking 
System. 

01SK - S54.9S 



Custom SoUatar* Engineering inc. 

(FRTTJOUSLt EtfTtV 
DISK EXTENOEO BASIC Accounting Program w/ Mach. Lang, 
Routines. A "Traditional" Accounting Package for Small 
Business, Clubs. Churches. Personal use, etc. Up to four levels 
of subtotals with Trial Balance. Income Statement, and Balance 
Sheet Reports. DOE allows up to 300 accounts and a Trial 
Balance of S9, 999. 999. 99. Transactions may be up to 14 lines 
long, and comments and explanations may be freely used. 
Accounts are traceable to the Journal transaction, which may 
Include comments. Screen reports allow review of past 
transactions and current balances. 

DISK - S44.9S 



'FLEX *% a K*0t*naVt of Tecnnc* SytNwns Comsu1av>is 
"OS9 is a trmdmmavk oi Mcrom>»rt 



X TIKL PMI jpj AA 

mS** 00 - .»« »»« SflFTUIflBE 

* knTO (BtS) B42-460I Hill I III II III 



avmOmbUlty 

P m FLEX. OCT • CoJor C»"p*er FLEX 

O - 06-g, ODD • Col^r Co*w*itm\ <JS-9 

a - UhlFLEX ~ 

CX3> - Color Computer Disk 

OPT • Color Computer Tept 



68' Micro Journal 



III Pl#«s# Specify TMf Opmr*rt+i SfBttf) 4 Olsk Six* III 



59 



TEN MOST -ASKED QUESTIONS 

'•»•« DYNACALC 



TM 



THE ELECTRONIC SPREAD-SHEET FOR 6809 COMPUTERS 



1. What Is an electronic spread-sheet, anyway? 

Business people use spread-sheets to organize 
columns and rows of figures. DYNACALC simulates 
the operation of a spread-sheet without the mess 
of paper and pencil. Of course, corrections and 
changes are a snap. Changing any entered value 
causes the whole spreadsheet to be recalculated 
based on the new constants. This means that you 
can play, what if? 1 to your hearts content. 

2. Is DYNACALC Just for accountants, then? 

Not at ail DYNACALC can be used for just about any 
type of Job. Not only numbers, but alphanumeric 
messages can be handled. Engineers and other 
technical users will love dynacalcs slxteen-digit 
math and built-in scientific functions. You can build 
worksheets as large as 256 columns or 256 rows. 
There's even a built-in sort command, so you can 
use dynacalc to manage small data bases — up to 
256 records. 

5. What will DYNACALC 00 for ME? 
That's a good question. Basically the answer is that 
DYNACALC will let your computer do Just about 
anything you can imagine. Ask your friends who 
have VlslCalc™, or a similar program, Just how 
useful an electronic spread-sheet program can be 
for all types of household, business, engineering, 
and scientific applications. Typical uses include 
financial planning and budgeting, sales records, 
bills of material depreciation schedules, student 
grade records. Job costing, income tax preparation, 
checkbook balancing, pans inventories, and payroll. 
But there is no limit to what YOU can do with 
DYNACALC 

4. Do I have to learn computer programming? 
NO) dynacalc Is designed to be used by non- 
programmers, but even a Ph.D. In Computer 
Science can understand It. Even experienced 
programmers can get jobs done many times 
faster with DYNACALC. compared to conventional 
programming. Built-in HELP messages are provided 
for quick reference to operating instructions. 

5. do I have to modify my system to use dynacalc? 
Nope. DYNACALC uses any standard 6809 config- 
uration, so you dont have to spend money on 
another CPU board or waste time learning another 
operating system. 

Order your DYNACALC today! 



Foreign Dealers: 

Australia & Southeast Asia: order from Paris Radio Elec- 
tronics. 161 Bunnerong Road (PO Box 380) Kingsford, 
2032 NSW Australia. Telephone: 02-344-9111. 

United Kingdom: order from Compusense. Ltd., PO 
box 169, London N13 4HT. Telephone: 01-882-0681. 

Scandinavia: order from Swedish Electronics hk ab, 
Murargatan 23-25, Uppsala 5-754 37 Sweden Tele- 
phone; 18*25-3000. 



6. will DYNACALC read my existing data files? 
you bet) DYNACALC has a beautifully simple 
method of reading and writing data files, so you 
can communicate both ways with other programs 
on your system, such as the Text Editor. Text 
Processor, sort /Merge, stylograph™ word 
processor, rms™ data base system, or other 
programs written in BASIC, C, PASCAL, FORTFAN. and 
soon. 

7. HOW fast IS DYNACALC? 

very. Except for a few seldom-used commands. 
dynacalc Is memory-resident, so there Is little disk 
I/O to slow things down. The whole data array 
(worksheet) is in memory, so access to any point Is 
Instantaneous. DYNACALC is 100% 6609 machine 
code for blistering speed. 

8. is there a version of DYNACALC for MY system? 
Probably, you need a 6809 computer (32K 
minimum) with FLEX™. unlFLEX™, or OS-9™ 
operating system, you also need a decent crt 
terminal, one with at least 80 characters per line, 
and direct cursor addressing, if your terminal Isn t 
smart enough for dynacalc, you probably need a 
new one anyway. The unlFLEX and 05-9 versions of 
DYNACALC allow you to mix different brands of 
terminal on the same system. There s also a special 
version of dynacalc for Color Computers equipped 
with FLEX (Frank Hogg or Data-Comp versions). 

9. how much does DYNACALC cost? 

The FLEX versions are Just $200 per copy; UnlFLEX 
version $395; 0$-9 version (works with LEVEL ONE or 
LEVEL TWO) $250. Orders outside North America add 
$7 per copy for postage, we encourage dealers to 
handle dynacalc. since irs a product that sells 
Instantly upon demonstration. Call or write on your 
company letterhead for more information, 

10. where do I order dynacalc? 

See your local dynacalc dealer, or order directly 
from esc at the address below, we accept 
telephone orders from 10 am to 6 pm. Monday 
through Friday. Call us at 314-576-5020. Your visa or 
MasterCard is welcome. Please specify diskette size 
for FLEX or OS-9 versions, software serial number Is 
required for the UnlFLEX version 



Computer Systems center 

13461 Olive Blvd. 
Chesterfield, MO 63017 

(51 4) 578-5020 



% 



UnlFLEX software prices Include maintenance for 

the first year. 

dynacalc is a trademark of 

Computer Systems center 

tfiHOic ii * trMMmarfc of VWCorp 

STYLOGRAPH ti i trademark of Great Plain* Computer Co 

rms it a trademark of wamington computer Service* 

FUx and um FLEX are trademarKi of TSC 

OS 9 It a trademark of Mltroware and Motorola 



'6S' Micro Journal 



WINDRUSH MICRO SYSTEMS 



UPROM II 

PtOGRMS end V€ftirlESi 127M, 
T2S04, T2716, T2S16, I2JI2/27J2A, 
■Klfo4764/c, !2?«4/276«ft, 1*5*4. 
|27l20/27l29A, **vJ 1272*6. 

I>tn1el. fT*i«i r nutotorole. 

no PtpsoNAiiTr pdqxams recmiukj; 

TRl-VOLT EPPOWS Mt MOT >UPPQ*UP 

INTEL 1 t lot tit Bint progreeelrig 
<ti) lnpl*a«nttd for Intel 
2764. 27124 end 2?«6 4t»Utt. 
■nielllo*"! progreoejlng roducat 
lh* evereoP progroaotng 1 1o* ol • 
27*4 froo 7 otnulet to 1 otnutt 
1) trtondt (under FlU> «1th 
greet ly laprewfd reiiabliitv. 

F Fully encloeed poo <Hh V 

flat ribbon cable for connection 
io tht (Hilt computer AC6621 M* 
Interface board. 

NC6409 Software for- FUX end 0S9 
ile*«l 1 or 2. Version 1,2>. 

• IMAIT US* FlLt of feet loiO*r 
aupoiied with FLfK. moot end OS9. 

■ervu drwifl lo'tvi'* provld**. the following iKHMltt! 

a. FILL ..« atlected eree ol tht Duller etch • Hit Cher. 

b. PAJ9E .... block* of deta. 

C. 9*9** ........... the bulfer In HEX end ASCII. 

0. UNO ..... a ttrlng of byiet \n thi buffer. 

e. EfUIUME/CffUfct ► the content! ol tW buffer. 

f. CIC ... chacliuo e telected arte of the buller. 

B. CQ*f .. ..... t telected tree of on EPAC* Into I'M buffer. 

>•. VftlFf .......... a tlLKtld irti of on mow ege1n»t the butler. 

1. PtOttAP ........ • tetected Oft* Of on (MON wllh data In tht butter. 

j. SElECt ... i rmm (PROP type (rtturn to typtf oenu). 

k. IN1ER .......... tht tyitea BonHor. 

I AtluftN ......... to tht operating tyttea. 

1. EXICLJTE ... . ony DOS utility (only In FLEI tnd 0S9 voraloni*. 

FLCH AW 019 VttSlPNS AWiiLAaLS FApP) *J«)l. SSOiffXtt COPTICS 11$ 0)RttT. 




PL/9 



* Frtjndly tnter-tctlve envlrvewni «here you have INSTANT eccttt to tno 
Editor, tht Compiler, and th» f rair-Oabvflgar, which, eaongtt o\*»mr 
tMrvgt, con tingle it*P tht progre* * SOU* If lint at t tint. Vow alto 
haw Olrvct accei* to any FLEX utility and your tritn oonttor. 



• try* ( 



l orgon'red *• t tutorial *lt» plenty ol *■***>!»*. 



• fail SINCE PASS (Q^iUir pro«Ktt A« of COPFACf and f«Sf 6309 oacbtn* 
COd* output P#r «t«Hi1r «1t» no fun*-H«« OWrhoadt or*lTcon»t f«*t. 

• fully c«MVtt1hl« with TIC tut editor for»#i tf1»k filet* 

• ltorwd and untlgned *Tl** and tllUii**, 12-blt Uootlng polnl il*t». 

• Vfttort (Urtfli diBvnalon orr« T t> on4 polnUrt ere tupenrted. 

• Metheoatscet e^preetlontt <♦). (-)# <>>. </), oodblui <\>^ nesailon <•! 

• Upr»t»1on evaluatorei (•). (0>, «), Ol. <>•>, (<>> 

• NH operetort! UIB>. {OP), IfOR/lOt). <WT), C$Miri), (SWu» 

• Logical operetortt I.W), <.0H>. <.tOP/XOtl 

• Control stateoentti l7.,THCN..tLff . If. .C AMI ..CASE?. .IX W, IK6tN..EN0 # 
WMlLe... ne>E*».,U«|T|L / tEPt*T..K»tWEl, {ALL* JU*P, AftUtN, MIAK. «0t0. 

• «1rtct accttt to CAfCA). (ACCfi>, <ACCP), <XREQ), <CCR> and (STACK). 

• rUUT •wpeortt the MC6M9 tiSCf, ml, riM. IN. Sul, UU end SV13 
Mtctort. urui«s ■ tttf-ftierting <froo QOwor-up) p/ogree that u«ee *m t 
or Au., ol the ntbMV Internoti it en ebeolute tnapr 

• Mchine code —r be teoeaoed in the pr agree vie the *«** «tet**«rt. Thlm 
enebles you to code critical rovtlnet m ettrafcty len«oe%e end ooAtd thro 
In the PL/9 progreo Itee >«ACf tor Octal lt>, 

• Procedure* *iy be petted «nd may returrt verlebtrt. Ihlt aekte Ihte 
function* which beheve ■• though they wtrt en tnttgraL pari of PL/o. 

• lavtrol fullr doeuoenlad library procedure ejedulee ere tuppHwdt KOSUB4. 

eJTie,, nm«iq. Mine, ileho. scipack. sitsias. bastrivc. end rcalcon. 



>f IFFKtfeWT CQWXLIP 1 WAVt FB 



LiA'l- 



iuoted froo Ron Andereone *LEI U%9r Notet ioluan In *o$. N**d *e may agreT 



MACE/XMACE/ASM05 

All of thime product* faatura e Hghly producttve envlronoent ulcere the 
editor end the oileofeler reeldc In aeeejry together. Gone ere the oeyt of 
tedlwt diet lood end «e v e ooeratleni uhSle you ire drbvv«1ng your 10O*. 

• Friendly Inter-ecttvt rnv1ron«efxt ehere you htvt Inttent eccett to the 
ffdltor end tna Atieeftltr. ILIl utilities end yOwr tytta* aonltor. 

• «ACE con elto product «l*o>*0Ct (Cl» ttateoenti) (or PL/? eit* the 
atieeoiy lervgwaga tourct pAAted to the outpul it coeMMntt. 

• KNACe 1* • crott etaeebler for the 6100/1/?/)/! and tupoont 1h« «nt«hd*d 
eenoontce of Iht 6303. 

• ASHTJ5 n ■ crotl e»«abltr for the MOT. 



D-BUG 



LOOKING for • tingle ttep tracer *no elnl 1n>Llne dlietaeobler thet l* eeiy 
to uteff Look no lurther p you heve found it. Fh1a (>eck*o» It Ideel for 
ihpat inU etteabU lenpuege progree debugging tetttont. P-euC occupitt 
leet then M {Including u% Meet end verlebletl end eey be loaded enrehtrt 
in wwmry. All you do it lOAp It. Ale IT end 40! (SO col vov* only). 



McCOSH C 



Tn 1 ■ It »m cc«ol<t« ■ 'C *i^pii«r a« you H iu Und on any op«/at<ng tytteo 
for tht &409. It 1» coopletfU c^>Kib(i «1th UNIt VIC end only lactt 
'bHoflaldi* (which trt of little practical uia tn en «-blt uOrLdt). 

• Preducet very tffUent •■••*) I y language ftOUrce Output with Iht 'C # 
towrce opl tonally interleaved at c wr !«. 

• kHt-in opt teller mil Morten oBJect cod* by about tit. 

• (UPCOTtt Interltorrdi atteoblr lon gun gt progreot. 

• INCLJfEE Itt oun *ate*bler. The 7SC reLocetlng aatreJbler it only rewired 
If you went to gertarete your own llbrerlea. 

• The pre-procoaaor. coepller, optielrer, ttteabler end loedar til tun 
indvcey^danily or kaidar the 'CC e<ecut1hr«* 'CC aeAet <o^1Ung t progree 
to e<ecuteble object at stOPl* « t typing In *CC.NCU0.C <■! 



IEEE -488 



* supports all principal wets or thc icif-mb iWfMt wn snclncATioui 



- Tatber 

- Llttener 

• Syeteo Controller 



- Serial Poll 

• Parallel Poll 

- group Trigger 



- tlnoit or Quel PHeery eddrati 
* Secondary Addreit 

- Tell only Ltilen only 



Fully documented ullh (ceeplet* reprint of the KtLOBAMp article on tn* 
(EEC but and the Motorola pubticetlao *6*tting aboard Xhm Itlt tot 1 * 

' Low level eita^iiy lor^joge drirer* tulteble for 6400, e«0l. 6402. 6603. 
6606 end 6409 era ^polled in the for* of Uttingt. a cooplttt back to 
beck tett Progree It *Lm tiejplled In the fere of a lifting. Thete 
dMveri hOVfr b**n tatent^ely tttted end mt* GuARANTCCb to work. 

► ll"<jLe S«30 board (4. 6 or 16 addreitet p*r port), fully eoctftad. gold 
plAted but conncctora end IEEE Interface cable etteeely. 



PRICES 

D-il* 16409 FLU only) ... M . S 73.00 

NACC (6409 FLEA only) S 75.00 

XrtA'C £6409 FL£X only) S 90.00 

ASN03 (6409 FLEX only) S 90.00 

PL/9 16409 UXK only) S194.00 

•C <6409 fill ooiy> »295.00 

IEEE-440 «tth iEEC-448 coble etat«6ly 9294.00 

UPtOnVtiyu with <rw vertlon of eoftwere (no coble or intertece) .. fS9).M 

UPtOnVll/C el above but <o*plete with coble end S-30 interface . ..,»»45.00 

CA8LE 5' twUt-n-flet 90 way cable with tOC connectort * S 3S.00 

S-30 iNT SS-30 Interfere for UPRCJPHII 6130.00 

EX0R INT *X>torOle EXOebuk ((ItvXciiirl Interface for uPRQrWt ... St99.00 

UPeON IFT Software drUert for 2nd operattng tyateo. 

Soeclfy FLEI or 0S9 ANB dltk iljel 9 IS. 00 

UPHON SIC Ais*«J>ly lenguege eovrcc (contact ut direct) .............. 

All MUt) l l^iltf >jl HAIL P^Stif T 

t»r«i im. P*y*tnt by lftl*l Noney Order. VISA or NAJf|t-<Up «l» accepted. 

QmMX A Stt FML, UfCWWiUK, TSC, LUCOATA, LLOYD I/O. 
A Alto*) > AtoOClATES. 

FLEX (10> l> a tredeurk pi Technical IrllHI toni u 1 1 ent 1, 0S*9 (la) It a 
tredooerk pt N 1c rover* SytieM Corporation^ IbMt (ti) *** EXOKltir (Id) 
are tredeoarhe Of Pdtprel* Incprporeted. 



WORSTEAD LABOftATORfES. NORTH WALSNAM. 
NORFOLK, ENGLAND. NR28 9SA. 

TEL: 44 (692) 4O4066 
TLX= 975544 WMfCRO Q 



'88' Micro Journal 



61 




THE 6809 UNIBOARD"™ 

SINGLE BOARD COMPUTER KIT 

PERFECT FOR COLLEGES. OEM'S. INDUSTRIAL 
AND SCIENTIFIC USES! 

64K RAM! DOUBLE DENSITY 
FLOPPY DISK CONTROLLER! 



Hi 



Out 



BLANK PC BOARD 

$9995 

WITH PAL'S, AND 
TWO EPROMS. 

FOR 5-1/4 OR 8 INCH 

SOURCE DISKETTE 

ADD $10. 




00 



$249 

COMPLETE KIT! 
FULLY SOCKETED. 



PRICE 
CUT!! 



£* 

< UJ 

OS 

C* uJ 

<r<= 
:z 
00 
u.9; 

gi 

H 

I- ft 

kg 

* H 

(/> u. 
g< 

5> 



THE COMPACTA UNIBOARD™: Through special arrangement with COMPACTA INC., we are 
proud to have been selected the exclusive U.S. Mfg. of theirnew6809UNIBOARD™COMPUTER 
KIT. Many software professionals feel that the 6809 features probably the most powerful 
instruction set available today on ANY 8 bit micro. Now, at last, all of that Immense computing 
power Is available at a truly unbelievably low price. 



YOUR CHOICE OF POPULAR 
DISK OPERATING SYSTEMS: 

FLEX" from TSC *oe 

OS9™ from Mlcroware $199 

Specify 5-1/4 or 8 Inch 



tn 



UJ 



<2 



FEATURES: 

• 64K RAM using 4116 RAMS. 

• 6809E Motorola CPU. 

• Double Density Floppy Disk Controller 
for either 5-1/4 or 8 Inch drives. Uses WD1793. 

• On board 80 x 24 video for a low cost console. 
Uses 2716 Char. Gen. Programmable Formats. 
Uses 6645 CRT Controller. 

• ASCII keyboard parallel Input Interface. (6522) 

• Serial I/O (6551) for RS232C or 20 MA loop. 

• Centronics compatible parallel printer Interface. 
(6522) 

• Buss expansion Interface with DMA channel. 
(6844) 

• Dual timer for real time clock application. 

• Powerful on board system monitor (2732). 

Features commands such as Go To, Alter, Fill, Move, Display, or Test Memory. Also Read 
and Write Sectors. Boot Normal, Unknown, and General Flex™. 



PC BOARD IS 

DOUBLE SIDED, PLATED THRU 

SOLDER MASKED. 11 x 11-1/2 IN. 



Digital Research Computers 

w (OF TEXAS) 

P.O. BOX 4615*5 . GARLAND, TEXAS 75046 • (214) 225-2309 



TERMS: Shipments Will be made approximately 3 10 6 weeks after we 
receive your order VISA. MC. casft accepted Add $4 00 shipping 
USA AND CANADA ONLY 



62 



'68* Micro Journal 



64K SS-50 STATIC RAM 



«c& 



$149 



00 

(48K KIT) 




*Gtoi 



*A 






*o, 



% 



BLANK PC BOARD 

WITH DOCUMENTATION 

$45 



SUPPORT ICs ♦ CAPS - $18.00 
FULL SOCKET SET - $15.00 



56K 
64K 



M69 

MM 



ASSEMBLED AND TESTED ADD $50 
FEATURES: 

• Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs. 

• Fully supports Extended Addressing. 

• 64K draws only approximately 500 MA. 

• 200 NS RAMs are standard. (TOSHIBA makes TMM 2016s as fast as 100 NS. FOR 
YOUR HIGH SPEED APPLICATIONS.) 

• Board is configured as 3-1 6K blocks and 8-2K blocks (within any 64K block) 
for maximum flexibility. 

• 2716 EPROMs may be installed anywhere on Board. 

• Top 16K may be disabled in 2K blocks to avoid any I/O conflicts. 

• One Board supports both RAM and EPROM. 

• RAM supports 2MHZ operation at no extra charge! 

• Board may be partially populated in 16K increments. 

16K STATIC RAMS? 



CLOSE OUT SPECIAL 

WE HAVE DROPPED OUR 32K SS-50 STATIC 
RAM BOARD WHICH USED 2114 LOW POWER 
RAMS. WE WILL SELL THE REMAINING 
STOCK OF BLANK PCB'S WITH DATA FOR 
$17.50 EA. THESEFORMERLY SOLDFOR 150- 



The new 2K x 8, 24 PIN, static RAMs are the next generation of high density, high 
speed, low power, RAMs Pioneered by such companies as HITACHI and 
TOSHIBA, and soon to be second sourced by most major U.S. manufacturers, 
these ultra tow power parts, feature 2716 compatible pin out. Thus fully 
interchangeable ROM/RAM boards are at last a reality, and you get BLINDING 
speed and LOW power thrown in for virtually nothing. 



Digital Research Computers 

(OF TEXAS) 
P.O. BOX 491565 - GARLAND. TEXAS 75046 ♦ (214) 225-2309 



TERMS; Add $2 00 postage We pay balance Order under $15 add 75* 
handling NoCOD We accepi Visa and MasiefCharge Tex Res. add 5% 
Tax Foreign order* (oxcepl Canada) add ?0%P* H Orders over $50, add 
85c fof insurance* 



'68' Mkro Jouma) 



S3 



DISKETTES AND 680X SOFTWARE 



SUPER SLEUTH DISASSEMBLER 

lni«r«<t<v*4v aavntraaaa aourca o* d'a* will* la Cm It. locludaa *fi 
apa^ty 6800.1.2^,^8.8/6502 var**p Of 2-m&m*$ »ar»lon 
0S^> tod UNIFLEX vr+JOni alt* proca»a FLEX o*)*c| fit* format* 
08JECT ONIV wtra.a** EACH SSO-FLEX ft OS-9. MS-COCO DOS 
COCO DOS avaMabl* In 8800. 1 .M.V8.1/t*>2 vara** «n1y 



EACH S99-FLEX, S101-OS-9, S100-UNIFLEX 

laawJ OaflnllKMV binary flit adltm*, ate. 



CROSS-ASSEMBLERS EACH S50-FLEX/UNIFLEX/OS-9, ANY 3 $100. ALL $200 



aoaclfy fo» 1 
trua. i«HM)ul«r. Ii 
B-b*t 



2-60. ao»a/si. 

ta*H)mQ cm HMr^rrt wrrtfla* In C 
I only with ail cnu-mamWart (tor S200) 



DEBUGGING SIMULATORS EACH S75-FLEX, $100-OS-9, $80-UNIFLEX 

apactly 8800/1, 11a*80S. 8502. 6808 05-9. 2-60 FLEX 
OBJECT ONLY varal na: EACH 850- COCO FLEX ft COCO OS-9 

6502 TO 6809 ASSEMBLER TRANSLATOR S75-FLEX, S85-OS-9, $80-UNIFLEX 



S50-FLEX. $75-OS-9. $60-UNIFLEX 



tranalalaa 8502 proQvama to 6808. noting i«auaec nn**rt«Mt 

6800 TO 6809 & 6809 PIC TRANSLATORS 

lr«miat«a 1600 program t to 6809, 6609 prog* i mi id ClC 

FULL-SCREEN FLEX AND UNIFLEX TSC XBASIC PROGRAMS FOR 6809 

iwlln comptoia curae* control} 

DISPLAY CENEAATOR/OOCU MENTOR SS0 w/aotra. 625 without 

MAILING LIST SYSTEM 6100 w wvr{« ISO without 

INVENTORY WITH MR» 1100 w/amirca 660 without 

TA6ULA RASA CP*£A0SHeFr 6100 w/amirea. 660 wlllMMil 

DISK AND XBASIC UTILITY PROGRAM LIBRARY $50-FLEX & UNIFLEX 

odll aactora. oprt drrvct&ry. maintain maata* calaJof, do drat aorta. *ra* 6A6IC. _ 

CMODEM PROGRAM $100-FLEX & OS-9 & UNIFLEX, OBJECT-ONLY EACH $50 

pfovtdoa monu-drlMon t*laro«n«iuft+catlOfta faeltiitaa, aril* lorm*r»ai mod a opvoown load, MODEM? p/vna£Al. ate 

5.25" SOFT-SECTORED DISKS EACH 10 S13-SSSD S15-SSDD S17-DSDD S25-DSOD 

with ta«*ala •** hub r*i%Q» 

SS-50C 256K 1.5MHZ MEMORY BOARDS BLANK $100 A&T $350 

with inotructkm manual, aehomatko. and dolay lino, all part* raadlly avallabla 



Moot p^Vimi In aouroa on dfe*. agoctfy computa*. d<ak also. opo»ati*e ayoiam. 

Ceniacl CSC lo* toll catalog and doal«r mfonnaiion 

28% dtacoont for multiple parcAaaan o* aamo program on oamo on*Of 

For VISA and MASTER CARD, giva account, imp- data, phono US tunda only 

Add GA mIh ta« and 5% ahipplog, no ahlpplng tor dlahi In 100 a 

fUNIrFLEX Iratfomark Technical SVftloma Conaultanla. OS-9 tradamarlt Mltrowaro. 



Computer Systems Consultants, Inc. 

1454 Latta Lane, Conyers, GA 30207 

Telephone Number 404-483-1717/4570 



SOFTWARE.. 
HARDCORE 



" FORTH PROGRAMMING TOOLS Irom Ihe 68XX&X " 
•• FORTH specialists — get ihe besl' 1 " 

NOW AVAILABLE — A variety ol rom and disK FORTH systems to 
run on and/or do TARGET COMPILATION for 

6800. 6301 6801. 6809. 68000. 6080. Z60 

Wnte or call for mlof mabon on a special system to lit your require- 
ment 

Standard systems available for these hardware— 

EPSON HX-20 rom system and target compiler 

6609 fom systems fof SS-50. EXORCISER. STD. ETC 

COLOR COMPUTER 

6800V6609 FLEX or EXORCISER disk systems. 

68000 rom based systems 

68000 CPW-68K disk systems. MOOEL 1112/16 

t FORTH is a relmed version of FORTH Interest Group standard 
FORTH, faster than FIG-FORTH. FORTH is both a compiler and 
an interpreter, H executes orders of magnitudes faster than inter- 
pretive BASIC. MORE IMPORTANT. CODE DEVELOPMENT 
AND TESTING is much, much fa ter than complied languages 
such as PASCAL and C. If Software DEVELOPMENT COSTS are 
an important concern for you. you need FORTH 1 

firmFORTK^ is lor the programmer who needs to squeeze the 
most into roms. It is a professional programmer s tool for compact 
rommable code tor controller applications 

» if OflTTX and hfrrf OWTTH afa irad***** ol Tat** ajDccayaajn* 
» FLEX • a fradvmani o< T»cN»ca» Syfiama CcrmAMT* ax 
~ CPU48K m ****** or 0>g<ai O aaaart* a>c 



tFORTH** 

from TALBOT MICROSYSTEMS 
NEW SYSTEMS FOR 
6301/6801, 6809, and 68000 

.-> IFORTH SYSTEMS <~- 

For all FLEX systems GtMIX. SWTP> SSB, or EXORcisor Specify 
5 or 8 inch diskette, hardware type, and 6800 or 6609, 

" tFORTH — extended fig FORTH (1 disk) $100 ($15) 

with fag line editor 

" IFORTH 4- — more* (3 5' or 2 8' disks) $250 ($25) 

adds screen editor, assembler, extended data type . utilities, 
games, and debugging aids. 

" TRS-80 COLORFORTH — available from The Micro Works 

•• firm FORTH— 6809 only. $350 ($10) 

For target compilations to rommable code. 
Automatically deletes unused code Includes HOST system 
sour and target nucleus source No royalty on target . Re- 
quires but does not include tFORTH + . 

" FORTH PROGRAMMING AIDS — elaborate decompiler$1 50 

" tFORTH for HX-20. in 16K roms for expansion unit or replace 
BASIC $170 

" tFORTH/68K for CPM-68K 8" disk system $290 

Makes Model 1 6 a super software development system 

" Nautilus System Cross Compiler 

— Requires tFORTH ♦ HOST + at least one TARGET, 

— HOST system code (6809 or 68000) $200 

— TARGET source code: 6800-S200, 6301 .'6801 — $200 
same plus HX-20 extensions— $300 

6809— $300. eoeO/ZBO— $200, 68000-^350 

Manuals available separately — price tn I ) 
Add $6 system for shipping. $i5 lor torogn ifr 



TALBOT MICROSYSTEMS 1927 Curtis Ave., Redondo Beach, CA 90278 (213) 376 9941 



64 



W Micro Journal 



!!! FREE !!! 



Published Moitlhly by Computer Publishing Inc.. Hiison. TN. 



#1.95 




Bulk Rate 

U.S. Ftastage 

PAID 

Chattanooga, TN 

Permit No. 357 



(Mar Mitre ifournal 



The Color Computet Monthly Megaztae 



$1.95 per Issue Vol. 1, Issue 2 October, 1963 



THIS N THAT 



The HOG NBC this nrjnth is that 0>-9 has 
finally arrived for the Color Colter, 
The ASTOUNDING part of the Radio Shack 
OS-9 PacXage. besides the price, ia the 
LLLUWUU 1LM. *>u 'Old Tine Radio Shack 
Followers' will not believe what yoo see. 
Jon Shirley ha 8 been telling us that the 
main reason for the " lacX** of 
documentation with a lot of their 
products was the restrictions placoi on 
releasing that information by Hkausuft; I 



OS-9 on the COLOR COMPUTER 



One of the * Operating Systems of the 
Future** is now available for the 'little 
old Color Computer**; OS-9. Freely 
translated, OS-9 rroana "Operating System 
for the 69W (OS-9 is now being written 
for the &8ffB, also). Since it is fairly 
obvious that UNIX and "UNIX-Tfl>e" 
Operating Systertta will be cunnirg on just 
about every cewputer to cone out in the 
next few years, a whole new language is 
beginning to appear on the horizon. 



O&kx- crssajtex OB-9| the 



We had been running a preliminary release 
of OS-9 on the Qolor a^utar fior a fiow 
weeks, and received the "Official Radio 
ShacX** version for Review a couple of 
days ago. To put it mildly, this fffu-**<y 
is IXPRESSTVXJ For $69.95 (Radio Shack 
Catalog Nunfcer 26-3030). ycu receive a 9 
1/2 H x 7 5/a* x 2** package containing 4 



FREE SAMPLE ISSUE 

1-800-338 6800 

WON.-FRI. 9-5 E.S.T. 
TILEX 3*1 414 PVT ITH 

USA-S12-50 per year. Canada* Mexrco~$T9.50 Per year 
Surface Foreign- $24.50 per year. Airmail Foreign-$48.50 per year 

(ftnlor Muvq ilnurnal " 

TM Color Micro Journal is a trademark of Computer Publishing Inc. 



5900 Cassandra Smith Rd. 



Hixson.TN. 37343 



'68' Micro Journal 



66 




LLIiO 



TH 





An HimnaULIIigent OSCflmunications Program 



■ Easy Installation 

■ Menu Driven 

9 Intelligent computer to computer communications 
9 Supports most file transfer protocols 
9 Transfers CPM files to your system (Christtfisen Protocol) 
• Access to timesharing services (Source. CompuServe) 

■ Available for OS/9 and Flex 

Price: % 99,95 






G*rt h « Tradmwh id M*t«»**r 



areatt PUaflaa Bananas* samaaDE?] 

P. O. BOX 916 

Idaho Foils. Idoho B3403 

(208) 529-3210 




Flr*iie***rm«rfcalTSC hx 







iimJ-i* aft 



256K V 512K V 1 MEG MEMORY SYSTEM 



No* cmpetlblo »hh DMA coMra(tort. Hunt it up to IMh; without irneracinf 
MROV or lanrrupn, Hei on option*! on board DAT for me *|(h CPU cordi 
without ■ DAT, 1MK, 2MK. SI2K or IM byte p»r cud. FkJd upflredeel*. 
OpttoneJ oooflfu ration illowe 4M by to eddreii inch (minf nrnmory board DAT) 
•■boot CPU chmmgmt o* cedfee. I 7**r Itaftod Wiittmy, 

TURBO win—1 diet •cft».r Md aamofy dUfaxnlci loftl*** »leh tfM irma 

PW*— ± 2*C: 17mm, m ftWiXD, StSL S VKID, TOOL SttCUD 

Dceeeeitc ehJpp*0| "^ hondUr^ $10.00. Lion monuat $13.00, *p?ltc*fck v«rd 
imeoi poxchei*. C**hlo/» chock. COO. poreooel chock* wuit cloor before 
•hlpeeot. FU. rottdeefti odd i% mHi» le*. SMpped *toc* lo 30 deye, Dealer and 
f dJoaaia* ovolloMo. 



COMPUTER EXCELLENCE INC. 

P.O. BOX B442 

CORAL SPRINGS, FL 33065 



(? 



our EPROM PROGRAMMER with Che field. 

All daia cekan directly tt*m ■onufocturer's cwtoi *A* *i t iat*^. floftievo. 
l/*ertaca*. or perecroUty *oct*l*a nay «lao b» rwjalred *t edcUtlonol oae*. 



■ Trlpl* WQltOQO UHfl 
' SMfpilOd in kit ten 



C 1 D 1 E | f] 



INTERFACE 



INTELLIGENT 



PROGRAMS 
2W- 
2506 
2708- 
2796 
2516 
2716 
2716- 
2532 
2732 
2732A 
2564 
2764 
2S26 
27126 
2616 
66764 
674 B 
8748 



TOTAL 



PRICE 



NO 



llli 



PAR 


PAR 


SER 


S30 


SER 


SER 


NO 


NO 


Yti 


MO 


YES 


YES 


• 
• 
• 


• 
• 






• 

• 
• 


• 
• 


3 


12 


6 


11 


11 


11 


• 45* 


6160 


• 166 


• 375 


1466 


IB76 



0>RAH CJCH Praprajwr. «LM. Peraanelity nx%ii» (or 2506. #58. 51*, «/*3 
2716 incluted. specify OV, dlok elite. «xl cporotiog oyotots (TSC>» 7LK or 
S88'e DOB) +*n oed*ri/>g Navel only. S10; nAflltMf with BflVt p miT»M . 

UNITEK • P.O. Box 671 - Emporia, VA 23647 



66 



'68' Micro JoumaJ 



'66' MICRO JOURNAL 

<£ The only ALL 6800 Computer Magazine. 
<£- More 6800 material than all the others com- 
bined: MAGAZINE COMPARISON 
(2 years) 
Monthly Averages 

6800 Articles TOTAL 

KB BYTE CC DOBB'S PAGES 

7.8 6.4 2.7 22 19,1 ea. mo. 

Average cost for all four each month: $6.53 

(Based on advertised 1-year subscription price) 

68 cost per month $2.04 

Thats Right 1 Much. Much More 

for About 

1/3 the Cost! 

OK, PLEASE ENTER MY SUBSCRIPTION 

Bill My: Master Charge □ — VISA □ 

Card it - - Exp, Date 



For □ 1-Year □ 2 Years □ 3 Years 
Enclosed: $ _ 

Name . 



Street- 
City_ 



State 



.Zip. 



My^Computer Is:. 



68 Micro Journal 

5900 Cassandra Smith Rd. 

Hlxaon, TN 37343 



SUBSCRIPTION RATES 



USA 
t Year S24.50, 2 Year $42.50, 3 Year $64.50 

♦FOREIGN SURFACE Add $t2.00 per Year to USA Price 

♦FOREIGN AIRMAIL Add $36.00 per Year to USA Price 

**CANA0A 4 MEX100 Add $5.50 per Year to USA Price 
Cast) (USA) or drawn on a USA Bank! I I 




:f?OfftMBfe> 




V 



Give Your OS*9 System The Power It Deserves! 

Total Management Planning Softw re presents 

The JJfFP POWER SERIES: 
No One Else Can Match It! 

The TMP POWER PLANNER 

...is the Leader of a New Generation In Spreadsheets! 

. . . is Unequalled in Speed and Power! 
POWER PLANNER Features; 

* The unigue "POWER UPDATE" which uses "circular 
referencing, a new concept tbat makes POWER PLANNER far 
superior to Other Spreadsheets. 

* The POWER PLANNER also includes the traditional row and 
column ordered calculations found in #ther Spreadsheet*. But cir- 
cular referencing is much faster because it recalculates only related 
cells! 

* DATA ENTRY FREEDOM: POWER PLANNER eliminates 
worrying over the order of calculation! With the "POWER 
UPDATE/' data and formulas can be entered in any order, and 
you get correct results no matter where your information is placed* 

* NO FORCED RECALCULATIONS: With POWER UPDATE 
you always get the correct answer, unlike Other Spreadsheets that 
force you to keep recalculating until you get the right answer. 

* SPEED; For handl in£ large spreadsheets, the POWER PLAN* 
NER is the fastest. We invite comparisons! 

* "POWER OVERLAY" lets you easily create Specialised 
Reports with *'Boiler Plate'' screens. This means you can overlay 
any number of screens from disk containing formulas* constants, 
or formats, and automatically update one spreadsheet with another! 

* EASE OF USE: Fewer Keystrokes, Help screens, and "Sna • 
Shot" printing. 

* A worksheet that will display up to 254 rows by 255 columns, 
with cursor scrolling jn four directions. 

* Column width is defined globally or by column. Cells are edited 
in the "POWER PROMPT" box with convenient cursor move- 
ment similar to a word processor. 

* Full l3~digit precision, includes all the standard arithmetic 
and trig function ► such as sum, average, maximum, sine, pi, etc. 

* Formatted printer-output that eliminate** line wraparound. 
For Speed and Power for Management Decisions in Budgeting, 
Profit/Loss Projections, Tax. Loan and Financial Analysis, and all 
kinds of "What If Calculations, there is no other spreadsheet 
that is equal to the POWER PLANNER! 

Requires 64K and at least one disk drive. $250.00 

The TMP POWER MANAGER 

. . . Beat in its Class! 
POWERFUL CAPABILITIES: 

it More char cters per record (7500) than any other program 
in its class! 

* Each database can contain up to 32,000 records. 

* Each record can contain up to ISO fields of data- 
it Each field can contain up to 50 characters* 

* Fields can be Ipba, numeric, date, or monetary. 

* f\>werful Sort and Repot t Generation capabilities. 

it SORTLNG on any field or on a combination of fields. Plus, extra 
power from the **OR SORT" and descending son features. 

* Intricate math CALCULATING between fields based on for- 
mulas you devise. 

* The POWER MANAGER comes with an extensive Tutor. 
GIVE YOU MORE ABILITIES: 

* POWER MANAGER can create CUS1VMIZED LETTERS, 
INVOICES, columnar reports, or label format for mailing! 

it Use the Report Generator feature in conjunction with a text 
editor or word processor to write personal letter to those individuals 
who meet the geographic, date or monetaty criteria you select! 
it Our Users put POWER MANAGER to work for them to do; 
. . . customer mailings . . , past due notices . . . invoicing ... sale 
analysis . . . order tracking . . . inventories . . . credit, insurance 
and employee records, client profile reports, and much more, 
► THE POWERFUL BOTIVM LINE: We take the competition 
head on, and dollar for dollar The POWER MANAGER is by 
far the best in its class! 

Requires 128K and at least one disk drive 1365.00 



► ORDERING INFORMATION: TMP SOFTWARE 

2431 E. Douglas • Wichita, Ktntas • 67211 

► OR CALL TOLL-FREE: 1-80O 255- 1382 ExL47 

We accept VISA, MC, AMEX, money orders and cheeks. 

NOTE: 77t« parent company of TMP Sa/N*/n The United Software Cfc, is 
now the distributor end support organiestion for TMP Software 



68' Micro Journal 



67 



STAR-DOS LEVEL I 

Whenever a new DOS is introduced, there's 
always the problem o( developing software to 
work with it- So we did it the opposite way — we 
analyzed the requirements of software that 
already exists and developed a DOS that met 
them... and exceeded them! The result is STAR 
DOS Level I, a new DOS for 6809 systems, ideal 
for single-user industrial, control, and advanced 
hobbyist applications. This includes SS-50 
systems and singleboard computers from a 
variety o( vendors. 

Level I is compatible with most current 6809 
hardware and software On the hardware side, it 
allows up to ten floppy or Winchester drives with 
appropriate controllers. On the software side, it 
runs existing 6809 software from all the major 
6809 software suppliers, including TSC, Star* 
Kits, Intjol, and others. 

Wrjte or call for more information. STAR- 
KITS Software Systems Corporation. P.O. Box 
209, Ml. Kisco N.Y. 10549 (914) 241 0287. 



<s 



TAR-KITS" 



amotson comrro* consultants 
1 

As socle 



Ron Anderson, respected author end columnist 
for 68 MICRO JOURNAL Announces the Anderson 
Computer Consultants & Associates, e con- 
sultfng firm dealing primarily In 68XX<X) 
software design. Our wide experience In 
designing 6809 based control systems for 
machine tools Is now available on a 
consultation basis. 

Our experience Includes programming 
machine control functions, signal analysis, 
multi-axis servo control (CNO and general 
software design and development. We have 
extensive experience In Instrumentation and 
analysis of specialized software* We support 
all popular languages pertaining to the 6809 
and other 68XXCX) processors. 

If you are a manufacturer of a control or 
measuring package that you believe could 
benefit from efficient software, *rlte or call 
fton Anderson. The fact that any calculation 
you can do with pencil and paper, can be done 
much better with a microcomputer. We will be 
happy to review your problem and offer a 
modern, state-of-the-art microcomputer 
solution. We can do the entire Job or work 
with your software or hardware engineers. 

Anderson Computer Consultant? & Associates 

3540 S+vrbrldge CmeM 

Ann Arbor. Ml 48103 



68 9 MICRO JOURNAL 

61 MICRO JOURNAL PROGRAMS - RISK 



Dlsk- 
Dl sk- 

Dtsk- 

Dlsfc - 
I SIC- 

Disk- 



e 

9 



Disk- 
Disk- 
Disk- 
Dlsk-IO 
Dlsk-11 
Dlsk-17 
Dlsk-t 3 



1 Fllesort, Mlnlcflt, Mfnlcopy, 
Mlnlfis, "Lifetime, •♦Poetry, 
♦•Foodllst, ••Olet. 

2 I sked I t w/ lnst.4 f Ixes , 
Prime, •Prmod, **Snoopy , 
••Footbel I , ••Hexpewn.^U fet Jme 

3 Cbug09, Seel, Sec2, Find, 
T a b I e 2 , Intext, Dlsk-exp, 
•01 sksave. 

4 Mailing Program, - Flnddat, 
•Change, •Testdlsk. 

3 •OISKFIX 1, # 0I SKF IX 2 , 
"LETTER, •♦L0VESIGN, ••BLACKJAK, 
••BOWL I KG. 

6 "Purchase Order, Index (Disk 
file Indx) 
7 Linking Loader, Rload, Merkness 
Crtest, Lanpher (May 82) 
Datecopy, DIskflx9 (Aug 82) 
Home Accounting (July 82) 
1 ssemb for (J une 84 ) 
Modem68 (May 84) 

•Inltmf68, Testmf68, 'Cleanup, 
•Dskellgn, # Leobug , Help 
0lsk-t4 # lnlt, 'Test, # Ter«Ina1, p F1nd, 

•Dlskedlt, Help 
D I s k ~ I 3 M o d e m 9 ♦ Updates (Dec. 84 
Gilchrist) to Modem9 (April 84 
Commo) 

NOTE: 
This Is a reader service ONLYI No 
Warranty Is offered or Implied, they are 
is receive* by *6t' Micro Joaraal , and 
are for reader convenience ONLY (some 
MAY Include fixes or patches). Also 6800 
and 6809 programs are mixed, as each Is 
fairly simple (mostly) to convert to the 
other . 

PRICE: 8* Disk $29*93 - 3" Olsk $24-93 

66 MICRO JOURNAL 

P06 794 
Hlxson, TN 37543 
615-842-4600 

* Indicates 6800 
• # Indicates BASIC SWTPC or TSC 
6809 no Indicator. 

MASTER CAR© -VISA accepted 
Foreign -- add 101 for surface 
or 20* for air I I 



'66* Micro Journal 




DYNAMITE* 



"THE CODE BUSTER" 

disassembles any 6809 or 6800 
machine code program into beautiful source 

- Learn to program like the experts! 

- Adapt existing programs to your needs! 

• Convert your 6800 programs to 6809J 

- Automatic LABEL generation. 

• Allows specifying fcb s, FCCs. FOB s, etc 

• Constants input from OiSK or CONSOLE. 

• Automatically uses system variable names. 

• Output to console, printer, or disk file. 

• Available for all popular 6809 operating systems. 

FLEX™ SiOO per copy; specify 5" or 8" diskette. 
OS-9™ $150 per copy; specify S" or 8" diskette. 
UnlFLEX™ $300 per copy; 8"' diskette only, 

For a free sample disassembly that'll convince 
you DYNAMITE + is the world's best disassembler, 
send us your name, address, and the name of 
your operating system. 

Order your 0YNABDTE+ todayl 

See your local oynamite + dealer, or order di- 
rectly from tsc at the address below, we accept 
telephone orders from 10 am to 6 pm, Monday 
through Friday. Call us at 514-576-5020. Your VISA 
or MasterCard Is welcome. Orders outside North 
America add ss per copy. Please specify diskette 
size for flex or OS-9 versions. 

Foreign Dealers: 

Australia & Southeast Asia: order from Paris 

Radio Electronics, 161 Bunnerong Road (PO Box 

580) Klngsford, 2032 NSW Australia. Telephone: 

02-344-9111. 

United Kingdom: order from Compusense, Ltd., 

PO Box 169, London N13 4RT. Telephone: 

01-882-0681. 

Scandinavia: order from Swedish Electronics hk 

ab, Murargatan 23-25, Uppsala 5-754 37 Sweden. 

Telephone: 18-25-30-00. 



Computer Systems Center 

13461 Olive Blvd. 

Chesterfield. MO 63017 

<314> 576-5020 



% 



UnlFLEX software prices include maintenance 

for the first year. 

dynamite ♦ is a trademark of Computer Systems Center. 

Flfcx ana IWf l£X »» coownjrfcs of nc. 
OS* IS S tridWTum Of MKTWYt ano Mqcoohi. 

otjfer inquiries welcome. 



Model EP-2B-79 

EPROM Programmer 




2764A, 1717.SA. J7254 In typically *>• *>. an* 1*0 ••corrii 

im, 27128 Lv> typically SO, ind 100 ».rot»dt. 

SlfPPOKTI l*l t*, .ft.UA tfcWOH ■ 

Olh*f 4++tft aspfnrtadl 

2704, 7716, 27C14, 2732. 27C17, JJJ2A. 7736, KCN607A4. }}44A. 
2744, 77C64, 27128, 27128*. 27256. 27C294, 28144, 2844A , t*7CJ2. 
6731. )«E70, 874**, «ed 6749M. 

*e« eofwara, fcMOC $.Oi$ cyvTAiint under nr>f" allowe the mer 
to lead fro* 4l9m t of/feet lo*d*. eaee to dlek, Pro|re»» verify, read 
te atioi), titcut* FL8K ae4 HOmw cawanda. Operate Item *ty 
I/O ilct et>d r«py »oi« ta«r to tit* feature*. Truly an elegaat 
aelutlen for botti the experienced and notice f ror r****r*. 

if- 2**74 9171.00. Software 930. I/O Interface 539. Marmara 

up*r*de for tP-ZA-74 $2J, Pereoulity «QduU* priced 417 to 131, 

Optimal Technology, Inc. 

Phone (804) 973-5482 
Blue Wood 127 Earlysvtlle. VA 22936 




NEW! 



Compact 

Flexible 

6809 

computer 



The new ST-2900 System - a complete 64K smell business or hobbyist computer 
l& only one of lis meny possible conflgurelfrons Among lis leatures are: 
> Small enough to hold m your fiSndl (Eurocerd *■*♦: 9.«V n 6.3') 

* Two bosfd system for greater versatility lhan single board computers 
-CPU Board - POwerlul 8809E processor, tfiK or 64K RAM, 2K-flK EPROM, 2 

RS232 serial ports with soflwere p< gremmeble baud reles,, 18 bll 
counterHlme*. Ru/> I heCPU board a H by llself. or plug your own cuslom board or 
our FDC board into the expansion connector' 
■ FOC Board - double-sldsdrdouble'deflslly floppy disk controller with 
edlustment free digllal dale separator and write precompensallon. 2-8 bll 
parallel porls, 2-19 bit counler/tlmers, prololyplng area, 

♦ Available ss bare PC boards or oeniaily assembled boards. All have sokje 
mssk both sides plus ellkacreened comp nent overlay 

• OS-9 for only $49? 

Well, not quite. But lhaf's ell you pey lor our OS-9 Conversion Package which 
lei 9 y u use I he low cos I Radio Shack CoCo version of OS4 on our ST2900 
sysiem Seve S131 oil Ihe suggested list prfceof OS-9! SupporlsCcC© OS-9 end 
Slandard OS-9 lotmai d sks 

• CPU bare ardplusCPROM US FL EX Conversion Peckafle 129 
FOC bare board S36 CPU ♦ FOC ♦ OS-9C nverslon $119 

* Add $S shipplngthartdhng l$tO overseas) These prices ere In U.S. lunde. Cane 
dtan orders: call or write for prices. Terms: money 0*66*. certified check, VISA. 

iftU it a ueOftti* o< recfwwcal SfWenw Cota^arHft OSS >» a Cadafnar* al M«row*r» ud Mallet*) 

Write tof Iree btochuis and 
— ^ ^ complete price list 

(7 <TAD?r^>l< 1604>2W4485 

Y\ //\T\l/|/ l« *pmPac«hcTw 

V TC<HNOLOOIC-> 

2261 E. 11th Ave. Vancouver, B.C.. Canada V5N 1Z7 



68' Mem Journal 



CORN 



COM«*UTin 8 V • T ■ M « 



HODCJLia - Bill CABD6 - KITS - A88HCBLKD & TESTED 
" SttfifcftbU Modal ii IXT AfcT 

20 *m> POWER SUPPLT v/fia 

«/Dl«k protect r«lA7 350,00 400.00 

DISK CABINET w/rmgm. k ciblaa 

Ini DllVtS 200,00 250.00 

■arm bo aid, a aa-aoc, a ss-soc 

EM! buttoa 225,00 325.00 

It«» *■*• KIT AlcT 

ITS - IJmBSWT TIMER 

1, 10. 100 par •• . 19.95 29.95 39,95 
PB4 - lltTILLlGRIfT PORT BOFtt* 

SUfla board co^cut, 39.95 114.95 139.93 
DPI A - Dual PIA parallel port* 

4 tMJffarad I/O* 24.95 69.95 99,93 

XADR - Bxtaadad AddraaalaQ 

BAUD C«D. PI A port 29,95 69.95 89,95 
108 - W7TVY1 BOARD 83-SOc 

v/BAOD r»ft. 64.95 149.95 199.95 

P166 - 166E PBOM DISK 

21, 2764 SPftOtfa 99.95 79.95 109.93 

VD88 - Plraaaxa da alopsapt 

2. EK blocka 99.93 64.95 114-95 
XHP1 - 2764 PROM buraar adapt. 

for 2716 BORMIR 19.95 — 

CHKRRT Ea7baard «/Cablaat 

96 kvr eiptcltlT* 249.95 

TAXJR 12", 16 Mba VOfflTOft OWSCT — 149-95 

AMBER - 159.93 

4 NOODLE CABIEIT - aaflalabad 150,00 

POVER SUPPLY a/dlak protact 250.00 

♦♦»♦♦♦<♦<♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦! 

Color Computer 

MOPQLINX - 20 Mba Boaocbroaaj 

vldao drlrar 16.00 20,00 

COO POST BUS «/povar supply 

5 60-90, 2 Cart 169.95 199.95 

POVKl BOX 6 a«ltcb#d oat lata 

traaalaat auppraaaloa 29,95 39.95 

RS-232 9-avltcbad porta 

for above ADD +20 . 00 *25. 00 

~~Write~ for~ VRElTca talo'g 

ADD S3. 00 SCh PER 0AD£R 
WIS. ADD SI SALES TAX 

11931 W. Btuemound Road 
fA\ MILWAUKEE. WIS. 53226 

(414)257-0300 



68* MICRO JOURNAL 
ADVERTISERS INDEX 

'68' MICRO JOURNAL 51,68 

AOORN COf>UTER SYSTEMS 70 

ANDERSON COffUTER CONSULTANTS 68 

COLOR MICRO JOURNAL 65 

COMPILER EVALUATION SERVICES 52 

COMPUTER EXCELLENCE INC 66 

COMPUTER PUBLISHING INC 5 

C0I4>UTER SYSTEMS CENTER 60,69 

COMPUTER SYSTEMS CONSULTANTS, INC. ...64 

DATAHX*> 1 8C 

DIGITAL RESEARCH CX*f>UTERS 62,63 

GIMIX, INC 3,72 

GREAT PLAINS COUNTER 00 66 

HAZEL W000 COMPUTER SYSTEMS 08C 

INTTWL C0«P 53 

LLOYD I/O 52 

MEASUREMENT TECHNOLOGIES 51 

MICROKEY LID 51 

MICROWARE SYSTEMS OORP 1 ,4 

OPTIMAL TECHNOLOGY INC 69 

PERIPHERAL TECHNOLOGY 52,7! 

SARD IS TECHNOLOGIES 69 

SMOKE SIGNAL BROADCASTI NG 6 

SOUTH EAST MED«A 54,55,56,57,58,59 

SOUTHWEST TECHNICAL PROOUCTS INC. ...IPC 

STAR-KI TS 68 

TALBOT MICROSYSTEMS 64 

T>f> SOFTWARE 67 

UNI TEX 66 

WESTCHESTER APPLIED BUSINESS SYSTEMS .1} 
WINDRUSH MICRO SYSTEMS LIMITED 61 



This Index Is provided as a reader service. The 
publisher does not assume any liability for 
omissions or errors. 



70 



'68' Micro Journal 



PT69 SINGLE BOARD COMPUTER SYSTEM 
OS-9 NOW AVAILABLE 




The proven PT69 Single Board Computer now features OS- 
9 capability Powerful performance, reliability, ♦ OS-9 — 
UNBEATABLE* The PT69 is a completesystem ina compact 
package 

• 1 MHZ 6809E Processor 

• 2 RS232 Serial Ports 16850) 

• 2 8-Bit Parallel Ports (6821) 

• 56K RAM 4K EPROM 

• Time-of-Oay Clock (MC146818) 



Pictured 
System w»th Drives/System without Drives 



COMPLETE SYSTEM with PT69 Board, 2 

DS/DD 5Vi" 40 Track Drives Cabinet, and 

Power Supply 

PT 69 Board. Assembled and Tested, with 

Power Supply *■ Cabinet 
h PT69, Assembled and Tested Board 
h Parallel Printer interface with cables 
' OS-9 LI. includes edit, asm. ♦ debug 
1 STAR-DOS Level 1 (Compatible with Flex) 



S999 95 



$399 95 

$299 95 
S 49 95 
$250 00 
$ 7500 



PERIPHERAL TECHNOLOGY 

"Supplying Your Computer Needs Since 1978" 

3670 Lower Roswell Road 

Marietta, Georgia 30067 

VISA/MASTERCARD/CHECK/COD 404/973-0042 

'"OS 9iS * u&demark Ol Mittowase end Motorola 
>W *LE* \* atratomaiKof Technical System* Consultants 



XDMS 

Data Management System 




Th» XDMS Data HiFngfiufnl 5y+ta<n i* *»Allablr in thr»» l*v#H. Each 
livll mcludat th« XDMS nvdtun VHGEK utility ind System Document ation 
for level HI. XDMS i* on* of thu moat ;o-irfu] tyvlxni iviittbli for 
±90? compvr»r» antf may bw 0++4 for a witfr vanaty ol application*. XDMS 
utrr% trt r»gi*t*i>*d »n our d«t«(iat* to P»r<l>lt distribution of product 
announcement* and validation of u*ar upgrade* «nci main t antrc* re^uett*. 

XPMB .Ltvtl I 

*DK5 Level 1 con»l»t» C D£FI)f£, UPDATE tod REPORT faolllie*. 
Thin l*v«l ii intvndvd a* an •»ntri l«v»l' tV*tOffi< Anci P«r«nlt* vntry *nd 
reporting of o«t« on a 'tabular* ba*i*. Th* REPORT facility «u»port» 
record And field «»]*ctlon« field <nvrge. torting. tine cilcutidoni, 
column totals and report titling, Control i* via a Eng]J«h~hke tAftflUaS* 
which it upward compatible with Uvri If. XDMS Level t , . ♦ . . al2«.?3 



System Architecture 



WESTCHESTER Applied Buiinaia Sytti 
Poat Office Sox 1*7 
Bnarcliff Manor, *.T, |OffO 



XPMB Le»v»l III 

L<vfl 111 mcludti all of ti«*l II piu* * *et ol u*eful DNS Utilities. 
These utilities art designed to «id in trie development and ^tinttrnntt 
of uifr application* jmd permit modi Tic at I On of XDMS system psfameler*. 
input and output of XDMS fite«» display 4 rid modification of flit format, 
graphic display of numerical data and other functions Laval HI it 

intended for advance* XDMS uttrt, XDMd Laval III *?t«.99 

XDMS Sytttm Documentat ion only flQ, crvdit toward purrhaael. . ,s 24.-95 

^CACC: Accpuntina Gvtarn 

Trie XACC General Accounting System it designed for •mall busme»t 
in* Iron man ti of up to tO,000 accountt and inventory item*. Thv system 
integrstes accounting function* and inventory plu* thv general ledger, 
account* receivable and payable function* normally sold separately m 
othvr system*. Futurn user dafinad account*. Product* lor iervlceei* 
transaction*, invoicing, etc. Easily configured to noit *n v| ronitivnt*. 
XACC Oanvral Accounting System (Require* XDMS, pref. Lv. (111. , t29«.9S 
XACC System DoigmtdtiUdfl only l»lO, crpdlt toward purchaser . * ?4,v5 



MEBTCKBBTER aVppJieeiJ Builntu 8y*tami 
Post Dfftca Boi 187, Briarcltff Minor, M.V, 10910 

Alt softvare Is written In wcro/oi5«itolir and runs under 6B09 FLEX 0/S. 
T»r»s: Ct-»cV, Mcwwjy 0rd©r, Visa or Md»t#r<hBro-j. Shipment Mr ft cl«»*. 
Add PAH t?.W (S7.90 For«l9n1. Nt H«s odd *ok>» tax. fcMrcIfy 5* or B-. 

Sol**: S. t. MEDIA, l-^T>0->3f>-e^00, Consultatron: 9l4-<)4|-3552 <*v»ni), 

FLEX f& o tra<J«i»ork of Technical Systeai* Consult onti, ln<- 



68' Micro Journal 



71 



GIMIX HAS THE 6809 SYSTEM TO SUIT YOUR NEEDS 



HARDWARE 

All systems feature the GIMIX CLASSY CHASSIS; with a ferro-resonant constant 
voltage power supply, gold plated bus connectors, and plenty of capacity for future 
expansion. 

Static RAM and double-density DMA floppy disk controllers are used exclusively in all 
systems. 

All systems are guaranteed for 2 MHz operation and include complete hardware and 
software documentation, necessaiy cables, filler plates, etc. 

Systems are assembled using burned-in and tested boards, and all disk drives are 
tested and aligned by GIMIX. 

You can add additional components to any system when ordering, or expand it in the 
future by adding RAM, I/O, etc. 

GIMIX lets you choose from a wide variety of options to customize your system to your 
needs. 



SOFTWARE 

All 0S-9/FLEX systems allow you to software select either operating system. 

Also included is the GMXBUG monitor and, in systems with 126K or more of RAM, 
GMX-VOISK for FLEX. 

All GIMIX OS-9 systems include Microwatt's Editor, Assembler, Debugger, Baxlc09, 
and Runb; and the GMX versions of RMS and DO for OS-9 

All GIMIX versions of OS-9 can read and write RS color computer format OS-9 disks, 
as well as the Microware/GIMIX standard format. 

New and exclusive with OS-9 GMX III systems is the GMX OS-9 Support ROM. a 
monitor for OS-9 that includes memory diagnostics and allows the system to boot directly 
from either hard disk or floppy. 

A wide variety of languages and other software is available tor use with either OS-9 or 
FLEX 






OS-9 GMX HI/FLEX SYSTEMS (#79) 

The #79 super system now Includes (in addition ta the above): the GMX 
6609 CPU III. a 2S6K CMOS State RAM Board (#72>. and a 3~p*t ln- 
tBAgeflt Serial I/O Premier (#11) 

The GMX 6609 CPU III can perform high-speed DMA transfers fiom 
memory to memory and uses memory attributes and Illegal instruction trap- 
ping to protect the system and users Irom program crashes. If a user pro- 
gram crashes, only mat user Is affected, other users are unaware of the 
problem. 

Tt* a-Porl indigent Serial I/O Board (#1 1) significant reduces system 
overhead by handling routine I/O functions, freeing the host CPU for run- 
ning user programs. Tnis enproves overal system performance and aAows 
user terminals to be run at up to 19 2K baud 

with dual 40 track OSOO dirves $5998.79 

with dual 60 trad? OSDOdrrves . ,. 96196.79 

with 186 dual 8" DSOO dirve system S7696.79 

with 690 19MB Winchester subsystem and one 60 track (6696.79 

with a 47MB Winchester subsystem and one 80 track S1 0.69879 
with a 47MB plus a 6 MB removable pack Winchester 

subsystem and one 80track drive , 612,396.79 



TO CMtOEJt 6t MAIL: SEW) CHECK 06 MONEY ORDER OR USE YOUR VISA OR 
MASlEft CHARGE tease a*o* 3 weeks tor persr* crwcks to dear US ordersadd 
$5 tending n o*er is under $200 00 foreign am** add $10 ramtfing rt order is 
under $200 00 Foreign orders over S2O0 00 w<l be sNpped via &nery Air Freight 
COU£CT. and we wW charge no handling A* orders trust be pn^ak) In U.S. funds. 
Reese note tnet foreign clocks h*e been taunt aoout B weeks lor cofadfon so we 
would advise wMng irvney, or cftedd dnwn on a bank account in the U S Our bank 
fcs (he Continental lino* Kaftan* Bank of CNcage, 231 S laSafte Street. CNoge, II 
60693. account #73-32033 

BASIC-09 and OS-9 ere trjfljn^ * Micros Sy**n» Corp and MOTOROLA, inc. 
aec and UmR£X are trademarks of Tecrmfca) sir**** Graaa/ts, Inc 
6EMIX. GHOST. GMX. CUSSV CHASSIS, are tradenwks of CrMlX. Inc 



OS-9 GMX I / FLEX SYSTEMS #49 

The 649 systems Include 64KB static RAM, #05 CPU. *43 2 pott serial 
board 

with dual 40 track OSDOdrrves $3998.49 

with dual 60 track OSOO drives . . . , ............ S4196.49 

with #66 dual 8" DSDO drive system . . , $5698.49 

with 690 19MB Winchester subsystem and one 60 Hack $6696 49 

OS-9 GMX II / FLEX SYSTEMS #39 

Trie #39 systems include 1 28KB static RAM. m5 CPU. #43 2 port stria) 
board. 



with dual 40 track OSDOdrrves 

with dual 80 track OSOD drives 

with #68 dual 8" DSDO drive system 

with #90 19MB Wmdttsler subsystem and one 60 track 



$4498.39 
$4696.39 
96198.39 
$7398.39 



GIMIX DOES NOT GUARANTEE PERFORMANCE OF ANY GIMIX SYSTEMS, 
BOARDS OR SOFTWARE WHEN USED WfTH OTHER MANUFACTURERS 
PROOUCT. 

EXPORT MOOELS: A00 $30 FOR 50Hi. POWER SUPPLIES. 

GIMIX. Inc. reserves the right to cnange pricing, terms, and products 
specifications at any lime without further notice, 

ALL PRICES ARE FOB. CHICAGO 

Contact GIMIX lor price and availability of UniFLEX and UniFLEX GMXIII 
Systems. 

NOTE on afl drive systems: Dual 40 hack dirves nave about 700KB of for- 
matted capacity; dual 60s about 1 ,400KB. dual 8" about 2,000KB The 
formatted capacity of hard disks is about 80% of the total capacity. 



Want to expand your system to a 
megabyte of Static RAM and 15 users? 

Simply add additional memory and I/O boards Your GIMIX system can 
grow with your needs, Contact us for a complete iist of available boards and 
options. 

#72 256KB CMOS STATIC RAM board 

with batteiy back up S1896.72 
664 64KB CMDS STATIC RAM board 

with batteiy back up ... $528.64 

#67 64KB STATIC RAM board $478.67 

#1 1 3 port imemgent serial 1/0 board $498.11 

#43 2pottsenafl/0board ............... $128.43 

#42 2 pwt parallel I/O board ...... $88.42 

695 cable sets<1 needed per pott}, spedry board $24.95 



NOW 


SHIPPING ! 




UniFLEX 


GMX III Systems 



Gimix 

1337 WEST 37th PLACE 
CHICAGO, ILLINOIS 60609 
(312)927-5510 • TWX 910-221-4055 





CP.I 

Color Micro Journal 

'68' Micro Journal 

Data-Comp 

S.E. Media 




For Ordering C»N TOLL FflEE 

1-800-338-6800 
FROM - DATA-COMP, C.P.L 



A Family of 100% 68XX Support Facilities 
The Folks who FIRST Put FLEX 1 * on 

The CoCo 

Now Offeiing: *FLEX* (2 Versions) 

AND 'STAR DOS PLUS+ }M 




-DOS PLUS + 

• Functions Same as FLEX 

• Reads - writes FLEX Disks 

• Run FLEX Programs 

• Just type: Run "STAR-DOS' 1 

• Over 300 utilities & programs 
to choose from. 



TSC Editor 

SfefSSOOO 
NOW $35.00 



PLUS 
ALL VERSIONS OF FLEX & STAR-DOS 

Read-Write-Dir RS Disk 




Run RS Basic from Both 

More Free Utilities 

Super 800 Support 

Free Color Micro Journal 1 yr sub. 



INCLUDE 

+ External Terminal Program 
+ Test Disk Program 
+ Disk Examine & Repair Program 
+ Memoty Examine Program 
+ Many Many More!!! 



TSC Assembler 

K«9lS«.00 

NOW $35.00 

L 



DISK SYSTEMS FOR T>* COLOR OfcTUltN 



THESE PACKAGES INCH** WIVE. •COtfHHXIEfl , 
POKE* SUPfV¥ & CABINET. CABLE. AMD MANUAL ♦ 



• SPECIFY WHAT CONTROLLER YOU KANT JIM, OR RADIO SMAOC 



PAK #1 - 1 SINGLE SIOED, DOUBLE OENSITY SYS. 

PAK §2 - 2 SINGLE SIOEO, OOifiLE OENSITY SYS. 

PAK #3 - I DOUBLE SIOEO, OOLBLE DENSITY STS. 

PAK U - 2 OOiBLE SIDEO, OOUQlE DENSITY SYS. 

PAK #5 * 2 DOUBLE SlO£D f OOLBLE DENSITY STS. 
TNINLINE DRIVES, HALF SIZE 

COLOR COMPUTER It 64* N7EXT. BASIC 



COMTWtt.LE»$ 



J4M OISK CONTROLLER ■/ J0©S OR RADIO SHAOt 
OISK BASIC, SPECIFY WHAT OIS* BASIC 



RAOIO SHAOX DISK aWTOHXR 1.1 



DISK DRIVE CABLES 



CABLE FOR ONE DRIVE 
CABLE FOR TWO DRIVES 



64K UPGRADE W/WOD. INSTRUCT I CWS, 
CO.E.F, AND COCO 2 



USA ADD 2% SHIPPING 
FOREIGN ADD 5% SHIPPING 



SHjAOC. 


MJL KEYBOARDS 


$ 69,93 




MICRO TEOI LOWER CASE ROM AOAPTER 


1 ?4.93 


1369.9? 


RAOIO SHAOl BASIC 1.2 


1 29.93 


1639.95 


RADIO S1IACK DISK BASIC 1.1 


$ 29.93 


1439.99 


RADIO SWAOt EXT. BASIC 


$ 39.93 


1699.9) 


SCREEN CLEAN CLEARS UP VIDEO DISTORTION 


1 39.93 




MEMOREX OISKS 3* SS.DO 


1 24.00 


1639.9) 


SHIPPING INCLUDED ON DISK PRICES 






OISK ORIVE CABINET I POWER SUPPLY 


1 49.93 


1169,93 


SINGLE SIDED, DOUBLE DENSITY 3* OISK ORIVE 


S199.93 




DOUBLE S10ED, OOUBLE DENSITY 3* DISK ORIVE 


1249.93 




PPIW1ERS 




1139.93 


EPSON RX-BO 


1323.00 




EPSON RK-60TT 


1373.00 


1134.93 


EPSON MX-100 


1630 .00 




EPSON FX-100 


1799.00 




EPSON FX-BO 


1349.00 




EPSON MK-70 


1200.00 


I T9.93 






1 24.93 


SERIAL BOARDS FOR PRINTER* 






MX.SERIES 


1119.93 




FX-9ERIES 


1 99.93 




SPECIAL MX-lOO S550.00 



♦FtEX I* a Tradflfwti ol Ttfchnicul SyMsm Contulianti 
'STAR DOS ♦ iv t, Trade mt* o* STAR Kits & Daia.Comp 



5900 Cassandra Smith Rd. Hixson, TN 37343 



66 Micro Journal 

ISSN Oi 94*5025 

5900 Cassandra Smith Rd 

Hrxsorv TN 37343 



* 



Second CtRsa Postage Paid 

A< Hixson. TN 

And Additional Mailing Offices 



M SONi :d; I 

i.fi XQ »| *d 

' ' . !. 9J 3r4V hazelwood computer systems 

demonstrates Its leadership In computer technology by 
delivering the only computer system cepable of switching 
between either the 6809 or the 68000 processor 
Switching Is easily accomplished by a simple front panel 
toggle switch, lne reason we can offer this exclusive 
feature now. Is that when our proven 6809 processor 
x^ ^» ^fc board was designed several years ago, we had the 

foresight to include the bus controls that allow 
processor switching. 

Hazefwood Computer Systems is also ptoud to be the ffisf 
S 50/SS4 bus manufacturer to license and deliver the 
0S9/68K Operating System from Mlcrowmv Systems 
Corporation. 0S9/68K Is the 88000 version of the popular 
and powerful 0S9 Operating System. Utilizing our proven 
MC 20 disk controller. 0S9/68K can conveniently share a 
Winchester disk with 0S9. Changing from 8809 to 68600 
operation Is as simple as switching processors and 
booting the new system horn the Winchester disk. 

The ease of switching processors and operating systems 
makes a NELIX" dual processor system the natural 
choice for software development. In addition, the 
advanced design of HELIX™ equipment, emphasizing 
performance and reliability, makes HELIX™ boards and 
systems the best value in computing offered anywhere. 



1 Megabyte dual processor HiUX" system 
with 20 Megabits Winchester and floppy disk drives 



System prices vary with cantiguratltm. Catt tor exact ptimg 




THE SWITCH IS ON. . . 






ORDER :CP-O fl — " 



andard S-WJ PHJi^. ui\ncmW 



C W»M"» "°' su ch » «" ile "^ Ceded * » ««' * J^nr.* "* 









0S9/68K 



J BSE*** ^— *-ft5 



RICE 



$250 



HAZELWOOD COMPUTER SYSTEMS 

907 East Terra, O'Fallon, MO 63366, 314-281-1055 

OStt and 0$3/6SK are n»<ji»t«r*d trademarks of micfo«aro Symterrw Corp HtUX u a ir«d*marfc or H&teiwood Computer Systems 



^auts^tf^ 



7V£I/X